Josh Hawkins 11f8786459
sanitize user-supplied path components (#23990)
sanitize_filename leaves ".." intact and collapses variants like "..:" and "..*" to "..", so filesystem paths built from face names, classification model/category names, image ids, and trigger data could escape their base directory. Route every such site through new frigate/util/path.py helpers (safe_join, sanitize_path_component, sanitize_contained_path), which reject traversal and verify containment.

Worst case was DELETE /classification/{name}, which rmtree'd /media/frigate and /config while returning 200.

Important to note that all affected endpoints already require admin permission, so this sould be considered hardening rather than fixing exploitable code.
2026-08-13 21:59:46 -05:00
..
2025-08-16 10:20:33 -05:00
2026-07-06 12:28:02 -05:00
2026-07-06 12:28:02 -05:00
2026-07-06 12:28:02 -05:00
2026-07-06 12:28:02 -05:00
2026-07-06 12:28:02 -05:00
2026-07-06 12:28:02 -05:00
2026-07-06 12:28:02 -05:00
2026-07-06 12:28:02 -05:00
2026-07-06 12:28:02 -05:00
2026-07-06 12:28:02 -05:00
2025-07-07 06:35:55 -06:00