GitHub Advisoryadvisory · PyPI
GHSA-f795-p5jw-j6g2 djust: SSE sessions are not bound to the authenticated user; the client-chosen session_id is the sole authorization capability (session hijack)
HIGH
Official page ↗
- Aliases
- CVE-2026-61592
- Ecosystem
- PyPI
- Packages
- djust
- Severity
- High
- CVSS vector
- CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
- Weaknesses
- CWE-384, CWE-639, CWE-862
- Reviewed
- 2026-09-16
Affected packages
• PyPI djust: < 1.0.7 → fixed in 1.0.7
Description
Impact
SSE sessions were keyed solely by a client-chosen `session_id` with no binding to the authenticated user — a control the WebSocket transport has but that was dropped on SSE. An attacker who learns (or a victim who leaks) a `session_id` could connect to the message endpoint and dispatch event handlers that execute with the victim's identity and state.
Patches
Fixed in djust 1.0.7. Each SSE session is bound to its owning principal at creation and cross-principal access is rejected; SSE session creation is additionally capped per principal.
Workarounds
Disable the SSE transport short of upgrading.
Related
Alias · CVE (1)
- CVE-2026-61592 djust provides Phoenix LiveView-style reactive server-side rendering for Django with Rust-powered performance. vulnerability