CVE-2026-61595
Təsvir
djust, Django üçün Rust ilə gücləndirilmiş performanslı Phoenix LiveView üslubunda reaktiv server tərəfli renderləmə təmin edir. Versiya 1.0.7-yə qədər `djust.tenants` izolyasiyası yalnız HTTP yolu üzrə tətbiq edilirdi. Cari tenant `threading.local()`-də saxlanılırdı və münhasir olaraq yalnız HTTP üçün nəzərdə tutulmuş `TenantMiddleware` tərəfindən təyin edilirdi, buna görə də canlı (WebSocket/SSE) yolunda `get_current_tenant()` funksiyası mount zamanı və hər bir hadisə idarəçisində həmişə `None` idi — və tenant-fərqləndirməli `QuerySet` meneceri açıq şəkildə uğursuz olurdu (`STRICT_MODE`-u nəzərə almayaraq filtrlənməmiş queryset qaytarırdı), beləliklə soketə sahib olan hər kəsə bütün tenant-ların sətirləri açıqlanırdı. Bundan əlavə, `threading.local` `sync_to_async` executor axınında bağlantılar arasında paylaşılırdı. Bu problem djust 1.0.7 versiyasında düzəldilib. Tenant saxlama prosesi `contextvars.ContextVar`-a (hər bir asinxron tapşırıq üçün) köçürülüb; müəyyən edilmiş tenant WS/SSE mount və hər bir dispatch ətrafında bağlanır; hər iki menecer baza queryset-ini bir dəfə məhdudlaşdırır və qapalı şəkildə uğursuz olur (standart `STRICT_MODE` altında `.none()`); və sistem yoxlaması S006 `STRICT_MODE=False` olduqda xəbərdarlıq verir. Canlı yolunda heç bir məlum alternativ həll yolu mövcud deyil.
Necə düzəltmək olar
- djust1.0.7 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| djustPyPI | v < 1.0.7 | 1.0.7 |
Versiyanızı yoxlayın
Məhsulu seçin və istifadə etdiyiniz versiyanı yazın; versiyanın təsirlənən aralıqda olub-olmadığını görün.
Attack Surface Management
Domenlərinizə bağlı aktivləri, onlarda işləyən texnologiyaları və məlum zəiflikləri bir siyahıda görün.