Description
djust provides Phoenix LiveView-style reactive server-side rendering for Django with Rust-powered performance. Prior to version 1.0.7, 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. This is 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. As a workaround, disable the SSE transport.
Published: 2026-09-16
Score: 7.4 High
EPSS: < 1% Very Low
KEV: No
Impact: Session hijack enabling code execution
Action: Immediate Patch
AI Analysis

Impact

The vulnerability arises when server‑sent event (SSE) sessions are identified solely by a client‑supplied session_id that is not bound to the authenticated user. This flaw, classified under CWE‑384, CWE‑639, and CWE‑862, allows an attacker who learns or guesses a valid session_id to connect to the SSE endpoint and dispatch event handlers as if they were the victim. By hijacking the session, the attacker can execute code and actions with the victim’s credentials and state. The attack vector is inferred from the description, which indicates that learning or leaking a session_id suffices; thus network‑based observation or social‑engineering tactics can be employed.

Affected Systems

djust, a Rust‑powered Phoenix LiveView‑style reactive server‑side rendering framework for Django, is affected in all releases prior to version 1.0.7. Users running djust 1.0.6 or earlier are exposed to the flaw.

Risk and Exploitability

The CVSS score of 7.4 denotes a high‑risk vulnerability, while the EPSS score of less than 1% indicates a very low probability of exploitation at this time. The flaw is not listed in the CISA KEV catalog. Exploitation would require the attacker to obtain a legitimate session_id—through traffic analysis, social engineering, or brute force—which would then allow the attacker to hijack the SSE session over the network and issue event handlers, effectively executing code under the victim’s identity.

Generated by OpenCVE AI on September 18, 2026 at 00:54 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade djust to version 1.0.7 or later to bind SSE sessions to the authenticated user and enforce per‑principal limits.
  • If a patch is not immediately available, disable the SSE transport to eliminate the attack surface as a workaround.
  • Monitor SSE connection attempts and log session creation to detect and alert on unauthorized or excessive activity.

Generated by OpenCVE AI on September 18, 2026 at 00:54 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA 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)
History

Fri, 18 Sep 2026 01:00:00 +0000

Type Values Removed Values Added
First Time appeared Djust-org
Djust-org djust
Vendors & Products Djust-org
Djust-org djust

Thu, 17 Sep 2026 20:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Wed, 16 Sep 2026 22:00:00 +0000

Type Values Removed Values Added
Description djust provides Phoenix LiveView-style reactive server-side rendering for Django with Rust-powered performance. Prior to version 1.0.7, 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. This is 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. As a workaround, disable the SSE transport.
Title djust: SSE sessions are not bound to the authenticated user; the client-chosen session_id is the sole authorization capability (session hijack)
Weaknesses CWE-384
CWE-639
CWE-862
References
Metrics cvssV3_1

{'score': 7.4, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-09-17T19:23:13.215Z

Reserved: 2026-07-10T17:12:17.237Z

Link: CVE-2026-61592

cve-icon Vulnrichment

Updated: 2026-09-17T17:15:13.346Z

cve-icon NVD

Status : Deferred

Published: 2026-09-16T22:17:02.900

Modified: 2026-09-30T17:51:56.193

Link: CVE-2026-61592

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-18T01:00:10Z

Weaknesses
  • CWE-384

    Session Fixation

  • CWE-639

    Authorization Bypass Through User-Controlled Key

  • CWE-862

    Missing Authorization