simulation_id, project_id, report_id, and platform parameters from API requests are used directly in os.path.join() to construct file paths. An attacker can use values like "../../etc" to read/write files or create directories outside the intended data directory. Added validation: reject any ID that differs from its os.path.basename(), which catches path separators and traversal sequences. |
||
|---|---|---|
| .. | ||
| app | ||
| scripts | ||
| pyproject.toml | ||
| requirements.txt | ||
| run.py | ||
| uv.lock | ||