CVE-2026-61595: CWE-636: Not Failing Securely ('Failing Open') in djust-org djust
CVE-2026-61595 is a high-severity vulnerability in djust versions prior to 1.0.7 where tenant isolation was improperly enforced only on HTTP paths. On live WebSocket or SSE connections, the tenant context was not set, causing tenant-aware querysets to fail open and potentially disclose data across tenants. This issue was fixed in version 1.0.7 by moving tenant storage to context-local variables and enforcing fail-closed behavior under strict mode. No known workarounds exist for the live path.
AI Analysis
Technical Summary
The vulnerability arises from djust's tenant isolation mechanism relying on threading.local() storage set only by HTTP middleware, which does not apply to live WebSocket or SSE connections. As a result, get_current_tenant() returns None during these live interactions, causing tenant-aware QuerySet managers to fail open by returning unfiltered querysets and exposing data from all tenants to unauthorized users holding the socket. Additionally, threading.local was shared across connections on async executor threads, exacerbating the issue. The fix in djust 1.0.7 replaces threading.local with contextvars.ContextVar to provide per-async-task tenant isolation, binds tenant context around WebSocket/SSE mounts and dispatches, and enforces fail-closed behavior by returning empty querysets under default STRICT_MODE. A system check warns if STRICT_MODE is disabled. No workarounds are available for live paths.
Potential Impact
This vulnerability allows unauthorized disclosure of tenant data across WebSocket or SSE connections by failing to enforce tenant isolation, leading to potential exposure of sensitive information from all tenants to any user connected via the live path. The CVSS score of 7.7 reflects high confidentiality impact with no integrity or availability impact. There are no known exploits in the wild.
Mitigation Recommendations
A fixed version, djust 1.0.7, is available and should be applied to remediate this vulnerability. The fix moves tenant storage to context-local variables and enforces fail-closed behavior for tenant-aware querysets. No known workarounds exist for the live WebSocket/SSE path, so upgrading is the recommended and necessary mitigation.
CVE-2026-61595: CWE-636: Not Failing Securely ('Failing Open') in djust-org djust
Description
CVE-2026-61595 is a high-severity vulnerability in djust versions prior to 1.0.7 where tenant isolation was improperly enforced only on HTTP paths. On live WebSocket or SSE connections, the tenant context was not set, causing tenant-aware querysets to fail open and potentially disclose data across tenants. This issue was fixed in version 1.0.7 by moving tenant storage to context-local variables and enforcing fail-closed behavior under strict mode. No known workarounds exist for the live path.
CVSS v3.1
Score 7.7high
Affected software
djust-org
djust
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The vulnerability arises from djust's tenant isolation mechanism relying on threading.local() storage set only by HTTP middleware, which does not apply to live WebSocket or SSE connections. As a result, get_current_tenant() returns None during these live interactions, causing tenant-aware QuerySet managers to fail open by returning unfiltered querysets and exposing data from all tenants to unauthorized users holding the socket. Additionally, threading.local was shared across connections on async executor threads, exacerbating the issue. The fix in djust 1.0.7 replaces threading.local with contextvars.ContextVar to provide per-async-task tenant isolation, binds tenant context around WebSocket/SSE mounts and dispatches, and enforces fail-closed behavior by returning empty querysets under default STRICT_MODE. A system check warns if STRICT_MODE is disabled. No workarounds are available for live paths.
Potential Impact
This vulnerability allows unauthorized disclosure of tenant data across WebSocket or SSE connections by failing to enforce tenant isolation, leading to potential exposure of sensitive information from all tenants to any user connected via the live path. The CVSS score of 7.7 reflects high confidentiality impact with no integrity or availability impact. There are no known exploits in the wild.
Mitigation Recommendations
A fixed version, djust 1.0.7, is available and should be applied to remediate this vulnerability. The fix moves tenant storage to context-local variables and enforces fail-closed behavior for tenant-aware querysets. No known workarounds exist for the live WebSocket/SSE path, so upgrading is the recommended and necessary mitigation.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- GitHub_M
- Date Reserved
- 2026-07-10T17:12:17.238Z
- Cvss Version
- 3.1
- State
- PUBLISHED
Threat ID: 6aaab9fd55bf5e2cf5d03c77
Added to database: 09/16/2026, 15:47:09 UTC
Last enriched: 09/16/2026, 16:01:29 UTC
Last updated: 09/16/2026, 16:01:29 UTC
Views: 7
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.