Skip to content
archivevulnerability · 16 Sep 2026 · 15:32 UTC

GHSA-3492-cvg7-9mr2: djust: Multi-tenant isolation fails open on the WebSocket/SSE path, disclosing other tenants' data

VULNCVE-2026-61595source · GTH
HIGHHigh-risk vulnerability — CVSS 7.7

last 60 dispatches · spectrum

### Impact `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. …

grounded ✓primary source ↗

loading threat intel…

Early access

Get the next one first.

Early access opens the actor API and MCP server first, plus alerts when an adversary you follow lands on the wire. One email when it's ready. Nothing else, ever.

bot-protected