Keysat cbd9748a79 Guard meeting :id against path traversal
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.
2026-06-13 18:22:00 -05:00
2026-05-11 20:14:50 -05:00
2026-05-11 20:03:27 -05:00
2026-05-11 20:03:27 -05:00
2026-05-11 20:03:27 -05:00
2026-05-11 20:03:27 -05:00
2026-05-11 20:03:27 -05:00
2026-05-11 20:03:27 -05:00
2026-05-11 20:14:50 -05:00
2026-05-11 20:03:27 -05:00
2026-05-11 20:03:27 -05:00
2026-05-11 20:03:27 -05:00
S
Description
No description provided
873 KiB
Languages
JavaScript 58.2%
HTML 23.6%
TypeScript 17%
Shell 0.7%
Makefile 0.3%
Other 0.2%