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:
Hornwitser committed 2023-12-03 19:59:14 +01:00
1 parent 94cb607930
commit 1095d2466d
4 files changed
+27 -2

No files matched your search

+1
View File
@@ -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);