[Security] IDOR: Job- und ZIP-IDs nicht an Session gebunden #14
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
server.py:294-311,server.py:466-476,server.py:478-497Job-Status- und Download-Endpoints pruefen nur die Existenz der ID, nicht den Besitzer:
Jeder authentifizierte Nutzer (mit
APP_PASSWORD=""sogar jeder) kann beliebige UUIDs abrufen.Fix
Beim Anlegen Owner-Token speichern und im Status/Download vergleichen:
Fix umgesetzt in
server.py:_request_token(request)extrahiert Bearer-Token (odernoauthbei deaktiviertem APP_PASSWORD)_check_owner(owner, request)-> 403 bei Mismatch/analyze,/exportspeichernownerim Job-Dict/analyze/status,/export/status,/export/downloadpruefen Owner_zip_storejetzt{zip_id: {path, owner}}statt nackter PfadManueller Test mit zwei verschiedenen Tokens: 403 fuer fremden Job, 200 fuer eigenen.