CVE-2026-61589
OrtaTeknik Veri (Otomatik)
- CVSS Skoru
- 6.3
- EPSS
- —
- CWE
- CWE-348
- KEV Durumu
- Hayır
djust, Django için Phoenix LiveView tarzı reaktif sunucu tarafı işleme sağlar ve Rust güçlüğü sunar. 1.0.7 sürümünden önce, WebSocket `handle_mount` ve `ViewRuntime._build_request` bir `HttpRequest` oluştururken `RequestFactory().get(...)` aracılığıyla `HTTP_HOST` olmadan yeniden oluşturur, bu nedenle `request.get_host()` canlı yol üzerinde `"testserver"` olarak varsayılan değerini alır. Konak/alt alan/alan `TenantResolver`ları daha sonra kiracıyı yanlış çözümler - canlı yol üzerinde `None` olurken HTTP yolu doğru bir şekilde çözümlenir. `STRICT_MODE=False` ile kiracı kapsamlı yöneticileri kapsamsız satırları döndürür (çapraz kiracı ifşası); varsayılan olarak boş bir sorgu kümesini döndürür (kırık kiracılık). Bu, djust 1.0.7 sürümünde düzeltilmiştir. El sıkışma Konak, ASGI kapsamı üzerinden çıkarılır, `ALLOWED_HOSTS` (CSWSH Origin kapısının aynı mantığı) ile doğrulanır, Django'nun `split_domain_port` ile parse edilir, böylece kötü biçimlendirilmiş Konaklar sınırda reddedilir ve yeniden oluşturulan isteğe - TLS şeması ile birlikte - iletilir, böylece canlı yol kiracı çözümü HTTP ile tam olarak eşleşir. Canlı yol üzerinde bilinen bir çözüm yolu yoktur, yalnızca yükseltme yapılabilir. Kullanıcılar, özellikle `STRICT_MODE=False` ile birleştirildiğinde en çok etkilenirler.
Orijinal açıklama (İngilizce)
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`.
Bu CVE için henüz editoryal inceleme yapılmadı. Sadece otomatik teknik veri gösteriliyor.
