mirror of
https://github.com/clusterio/clusterio.git
synced 2026-11-14 23:24:52 +09:00
Fix path traversal on mod upload
Fix possibility of a maliciously crafted mod being written outside of the mods directory and thus possibily overwriting unrelated files.
This commit is contained in:
1 parent
94cb607930
commit
1095d2466d
4 files changed
+27
-2
No files matched your search
@@ -559,6 +559,7 @@ async function uploadMod(req: Request, res: Response) {
|
||||
await finished(writeStream);
|
||||
|
||||
const modInfo = await lib.ModInfo.fromModFile(path.join(modsDirectory, tempFilename));
|
||||
checkModName(modInfo.filename);
|
||||
await fs.rename(path.join(modsDirectory, tempFilename), path.join(modsDirectory, modInfo.filename));
|
||||
req.app.locals.controller.mods.set(modInfo.filename, modInfo);
|
||||
req.app.locals.controller.modUpdated(modInfo);
|
||||
|
||||
Reference in new issue
Block a user