Security: Path Traversal in /preview und /detect-angle #1

Closed
opened 2026-04-23 14:13:51 +02:00 by ferdi2go · 1 comment
Owner

Problem\n\nDer path-Parameter in /preview (server.py:207) und /detect-angle (server.py:469) wird nicht gegen das Temp-Verzeichnis geprüft.\n\nJeder authentifizierte Nutzer kann beliebige Bilddateien vom Dateisystem lesen, z.B.:\n\nGET /preview?path=/home/vchuser/geheimnis.jpg\n\n\n## Fix\n\nPfad-Validierung analog zur vorhandenen Logik in /download:\npython\nif not os.path.abspath(path).startswith(tempfile.gettempdir()):\n raise HTTPException(status_code=403)\n

## Problem\n\nDer `path`-Parameter in `/preview` ([server.py:207](server.py#L207)) und `/detect-angle` ([server.py:469](server.py#L469)) wird nicht gegen das Temp-Verzeichnis geprüft.\n\nJeder authentifizierte Nutzer kann beliebige Bilddateien vom Dateisystem lesen, z.B.:\n```\nGET /preview?path=/home/vchuser/geheimnis.jpg\n```\n\n## Fix\n\nPfad-Validierung analog zur vorhandenen Logik in `/download`:\n```python\nif not os.path.abspath(path).startswith(tempfile.gettempdir()):\n raise HTTPException(status_code=403)\n```
ferdi2go added the priority: highsecurity labels 2026-04-23 14:13:51 +02:00
Author
Owner

Fixed in commit be0a790.

Fixed in commit `be0a790`.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: ferdi2go/OnlyFrames#1