We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 74e503f commit 9ceaf6cCopy full SHA for 9ceaf6c
src/server/routers/ingest.py
@@ -112,7 +112,10 @@ async def download_ingest(ingest_id: str) -> FileResponse:
112
- **HTTPException**: **403** - the process lacks permission to read the directory or file
113
114
"""
115
- directory = TMP_BASE_PATH / ingest_id
+ # Normalize and validate the directory path
116
+ directory = (TMP_BASE_PATH / ingest_id).resolve()
117
+ if not str(directory).startswith(str(TMP_BASE_PATH.resolve())):
118
+ raise HTTPException(status_code=status.HTTP_403_FORBIDDEN, detail=f"Invalid ingest ID: {ingest_id!r}")
119
120
if not directory.is_dir():
121
raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail=f"Digest {ingest_id!r} not found")
0 commit comments