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 Published 2026-09-16 Modified 2026-09-16 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

Weakness · CWE (3)

  • CWE-384 Session Fixation weakness
  • CWE-639 Authorization Bypass Through User-Controlled Key weakness
  • CWE-862 Missing Authorization weakness

References