Skip to content

Commit 62634b3

Browse files
Potential fix for code scanning alert no. 75: Uncontrolled data used in path expression
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
1 parent 74e503f commit 62634b3

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

src/server/routers/ingest.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,11 @@ async def download_ingest(ingest_id: str) -> FileResponse:
112112
- **HTTPException**: **403** - the process lacks permission to read the directory or file
113113
114114
"""
115+
# Normalize and validate the directory path
115116
directory = TMP_BASE_PATH / ingest_id
117+
directory = directory.resolve()
118+
if not str(directory).startswith(str(TMP_BASE_PATH)):
119+
raise HTTPException(status_code=status.HTTP_403_FORBIDDEN, detail=f"Invalid ingest ID: {ingest_id!r}")
116120

117121
if not directory.is_dir():
118122
raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail=f"Digest {ingest_id!r} not found")

0 commit comments

Comments
 (0)