REPRO-2026-00298: Horilla protected_media composed chain: unauthenticated outside-root file read, with necessity controls for each component defect
REPRO-2026-00298 is verified against horilla/horilla-hr · github vulnerability class: Path Traversal This high reproduction includes runnable sandbox proof, artifacts, and a plain-text agent view under REPRO-2026-00298.
pruva-verify REPRO-2026-00298 curl -O https://pruva.dev/api/v1/reproductions/REPRO-2026-00298/artifacts/bundle/repro/reproduction_steps.sh && chmod +x reproduction_steps.sh && ./reproduction_steps.sh Horilla HR protected_media() view has two independently necessary defects that compose into an unauthenticated arbitrary file read: (1) path traversal via unsanitized os.path.join(MEDIA_ROOT, path) and (2) Referer-based authorization bypass. A single HTTP request with no cookie/session/JWT/bearer, carrying a spoofed Referer header pointing to /login, bypasses auth and escapes MEDIA_ROOT to read any file readable by the Horilla process.
The agent's step-by-step process — every tool call, every handoff, the moment the exploit fired.
Loading session...
Scripts, logs, diffs, and output captured during the reproduction.