CVE-2026-61589 Details
Description
djust provides Phoenix LiveView-style reactive server-side rendering for Django with Rust-powered performance. Prior to version 1.0.7, the WebSocket `handle_mount` and `ViewRuntime._build_request` rebuild an `HttpRequest` via `RequestFactory().get(...)` with no `HTTP_HOST`, so `request.get_host()` defaulted to `"testserver"` on the live path. Host/subdomain/domain `TenantResolver`s then misresolved the tenant — `None` on the live path while the HTTP path resolved correctly. With `STRICT_MODE=False` the tenant-scoped managers returned unscoped rows (cross-tenant disclosure); with the default they returned an empty queryset (broken tenancy). This is fixed in djust 1.0.7. The handshake Host is extracted from the ASGI scope, validated against `ALLOWED_HOSTS` (the same logic as the CSWSH Origin gate, parsed with Django's `split_domain_port` so malformed Hosts are rejected at the boundary), and propagated — with the TLS scheme — into the reconstructed request, so live-path tenant resolution matches HTTP exactly. There is no known workaround on the live path short of upgrading. Users are most exposed when combined with `STRICT_MODE=False`.
A vulnerability in djust versions prior to 1.0.7 allows for incorrect tenant resolution due to the WebSocket `handle_mount` and `ViewRuntime._build_request` methods rebuilding an `HttpRequest` without the `HTTP_HOST` header. This omission caused `request.get_host()` to default to 'testserver' on the live path, leading to misresolution of tenants by host/subdomain/domain `TenantResolver`s. As a result, `None` was returned for the tenant on the live path, while the HTTP path resolved correctly. When `STRICT_MODE` was set to `False`, this issue allowed cross-tenant disclosure by returning unscoped rows; with the default setting, it resulted in a broken tenancy by returning an empty queryset.
Users can upgrade to djust version 1.0.7, where this vulnerability has been fixed. Instructions for upgrading can be found in the djust GitHub repository.
Metrics
CVSS 4.0 Severity and Vector Strings:
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
Volerion
Assessed Sep 16, 2026CISA-ADP
Assessed Sep 17, 2026References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://github.com/djust-org/djust/releases/tag/v1.0.7 | [email protected] | Release NotesVendor |
| https://github.com/djust-org/djust/security/advisories/GHSA-v9rj-xjfv-xj9r | [email protected] | AdvisoryRemedyVendor |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-348 | Use of Less Trusted Source | [email protected] |
| CWE-639 | Authorization Bypass Through User-Controlled Key | [email protected] |
Affected Products
| Product | Versions |
|---|---|
| djust | < 1.0.7 (semver) |
CPE
Remediation
| |
Change History
2 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Sep 17, 2026 | CVE Modified | CISA-ADP |
| Sep 16, 2026 | New CVE Received | [email protected] |
Volerion