CVE-20XX-?

CVE-2026-61595

7.7 HIGH 0.4% exploit odds Fix listed Other Web app

What it is

djust provides Phoenix LiveView-style reactive server-side rendering for Django with Rust-powered performance. Prior to version 1.0.7, `djust.tenants` isolation was enforced only on the HTTP path. The current tenant was stored in `threading.local()` and set exclusively by the HTTP-only `TenantMiddleware`, so on the live (WebSocket/SSE) path `get_current_tenant()` was always `None` during mount and every event handler — and the tenant-aware `QuerySet` manager failed OPEN (returned the unfiltered queryset, ignoring `STRICT_MODE`), disclosing every tenant's rows to whoever held the socket. `threading.local` was additionally shared across connections on the `sync_to_async` executor thread. This issue is fixed in djust 1.0.7. Tenant storage moved to a `contextvars.ContextVar` (per async task); the resolved tenant is bound around WS/SSE mount and every dispatch; both managers scope the base queryset once and fail CLOSED (`.none()` under the default `STRICT_MODE`); and system check S006 warns when `STRICT_MODE=False`. No known workarounds are available on the live path.

At a glance

Exploitability
Can be exploited over the network with a low-privilege account. High risk of data exposure.
Exploit odds
0.4% chance of exploitation in the next 30 days (EPSS).
Fix
A patch, advisory or fixed version is referenced. Upgrade or apply it.

Timeline

  1. PublishedDisclosed publicly on CVE.org and NVD
  2. Last updatedMost recent change to the record

Details

Published
Last modified
Exploit probability
0.4% · EPSS, next 30 days
Weakness
CWE-636
Record status
Deferred

Attack profile CVSS 3.1 · 7.7

Attack vector
Network
Complexity
Low
Privileges needed
Low
User interaction
None
Scope
Changed
Confidentiality
High
Integrity
None
Availability
None
Raw vector

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N

Meme: I wake up, CVE-2026-61595
Download Square Reddit

Fix and advisories

References

NVD record · CVE.org record