cbd9748a79ba5e2ec87585720a7f2d7d7ff26968
saveMeeting/loadMeeting/deleteMeeting built path.join(meetingsDir, id + '.json') straight from req.params.id, so an admin-authed :id like '../../etc/passwd' could read/write/delete outside internal-meetings/. Centralize a meetingPath() helper that strips anything outside [A-Za-z0-9_-] (mirrors output-store.js) and throws on an empty result; load/delete catch it as 404/no-op. Add a regression test.
Description
No description provided
Languages
JavaScript
58.2%
HTML
23.6%
TypeScript
17%
Shell
0.7%
Makefile
0.3%
Other
0.2%