CVE-2026-61593
Açıklama
djust, Django için Rust destekli performansla Phoenix LiveView tarzı reaktif sunucu tarafı oluşturma sağlar. Versiyon 1.0.7 öncesinde, SSE istemci→sunucu POST uç noktaları `@csrf_exempt` olarak işaretlenmişti ve SSE GET akış uç noktasında herhangi bir Origin kontrolü bulunmuyordu; bu nedenle, farklı kökenli (cross-origin) bir sayfa, kurbanın çerezleri ile kimliği doğrulanmış bir SSE oturumunu yönlendirebilirdi: kurbanın tarayıcısını akış URL'sini GET yapmaya zorlayarak (bu işlem kurban adına bir LiveView oluşturur ve bağlar) ve durum değiştiren olay işleyicilerini kurban adına tetiklemek için `credentials: include` ile mesaj uç noktasına POST göndererek bunu gerçekleştirebilirdi. URL içindeki `session_id` istemci tarafından seçilmektedir (yalnızca UUID formatı doğrulanır), dolayısıyla bir CSRF belirteci değildir ve `text/plain` olarak gönderilen bir JSON gövdesi, ön denetim (preflight) gerektirmeyen basit bir CORS isteğidir. Sorun 1.0.7 versiyonunda düzeltilmiştir. Üç SSE uç noktası da istek `Origin` değerini `ALLOWED_HOSTS` ile doğrular (WebSocket CSWSH savunmasını yansıtır) ve farklı kökenli istekleri 403 ile reddeder; POST uç noktaları ek olarak `Content-Type: application/json` gerektirir (aksi takdirde 415 döner), böylece `text/plain` basit istek baypas yöntemi kapatılmıştır. Geçici çözüm olarak, SSE taşıması devre dışı bırakılabilir veya önüne Origin izin listesini zorlayan bir proxy yerleştirilebilir.
Nasıl düzeltilir
- djust1.0.7 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| djustPyPI | v < 1.0.7 | 1.0.7 |
Sürümünüzü kontrol edin
Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.
Attack Surface Management
Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.