CVE-2026-61594
KritikTeknik Veri (Otomatik)
- CVSS Skoru
- 9.1
- EPSS
- —
- CWE
- CWE-306
- 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, canlı (WebSocket) taşıma, `check_view_auth` aracılığıyla bir bağlantıyı yetkilendirir, ancak Django'nun `View.dispatch()` zincirini değil. Sonuç olarak, standart Django yetkilendirme — `LoginRequiredMixin`, `PermissionRequiredMixin`, `UserPassesTestMixin`, `@method_decorator(login_required, name="dispatch")` ve özel `dispatch()` korumaları — ve djust admin uzantısının personeli kapısı (sadece HTTP `as_view` sarmalayıcısında uygulanır) ilk HTTP GET için uygulanırken, WebSocket üzerinden sessizce atlandı, burada tüm olaylar ve durum akışı gerçekleşir. Bir anonim veya düşük ayrıcalıklı istemci, bir WebSocket açabilir ve böyle bir görünümü — včetně admin listesi/oluştur/değiştir/sil — bağlayabilir ve işleyicilerini gönderabilir. Bu, djust 1.0.7'de düzeltildi. `check_view_auth` artık her taşıma için Django `AccessMixin` ailesini onurlandırır; yeni bir sistem denetimi S004, çalışma zamanının güvenli bir şekilde yeniden oynatamadığı yetkilendirme kalıplarında (dekoratör/ezilen-`dispatch` formları) girişte yüksek sesle başarısız olur; ve admin temel karışımı `login_required = True` + aktif-personel `check_permissions` kapısını bildirir. Bir çözüm olarak, görüntüleri djust'un `login_required` / `permission_required` / `check_permissions` özniteliklerini kullanarak (tüm taşıma araçlarında onurlandırılır) HTTP yalnızca karışımları/dekoratörleri yerine koruyun.
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 live (WebSocket) transport authorizes a mount via `check_view_auth`, not Django's `View.dispatch()` chain. As a result, standard Django authorization — `LoginRequiredMixin`, `PermissionRequiredMixin`, `UserPassesTestMixin`, `@method_decorator(login_required, name="dispatch")`, and custom `dispatch()` guards — and the djust admin extension's staff gate (applied only in the HTTP `as_view` wrapper) were enforced on the initial HTTP GET but silently bypassed over WebSocket, where all events and state flow. An anonymous or under-privileged client could open a WebSocket and mount such a view — including admin list/create/change/delete — and dispatch its handlers. This is fixed in djust 1.0.7. `check_view_auth` now honors the Django `AccessMixin` family on every transport; a new system check S004 fails loud at startup on auth patterns the runtime cannot safely replay (decorator/overridden-`dispatch` forms); and the admin base mixin declares `login_required = True` + an active-staff `check_permissions` gate. As a workaround, gate views using djust's `login_required` / `permission_required` / `check_permissions` attributes (honored on all transports) rather than HTTP-only mixins/decorators.
Bu CVE için henüz editoryal inceleme yapılmadı. Sadece otomatik teknik veri gösteriliyor.
