CyberSectr
Menü
← CVE Veritabanı

CVE-2026-61596

Yüksek

Teknik Veri (Otomatik)

CVSS Skoru
7.1
EPSS
CWE
CWE-639
KEV Durumu
Hayır

djust, Django için Phoenix LiveView tarzı reaktif sunucu tarafı işlemlerini Rust güçlendirilmiş performans ile sağlar. 1.0.7 sürümünden önce, djust'un nesne başına yetkilendirme (`get_object` + `has_object_permission`, ADR-017) WebSocket bağlantısı ve olay yollarında uygulanırken, diğer üç render girişi noktasında uygulanmamıştır: (a) ilk HTTP GET işlemleri, (b) SPA `url_change` navigasyonu ve (c) `{% live_render %}` gömülü alt görünümler. Bir doğrulanmış kullanıcı, bu nedenle, sayfanın doğrudan yüklenmesiyle, SPA url-değişikliği yoluyla navigasyonla veya gömülü bir çocuk olarak bestelenmesiyle yetkilendirilmeyen bir nesneyi görebilir ve bazı yollarda buna göre hareket edebilir — klasik bir IDOR / kırık nesne düzeyinde erişim kontrolü nesne kapsamlı görünümlerde. Bu, djust 1.0.7'de düzeltilmiştir. Tüm render girişi noktaları artık paylaşılan bir `enforce_object_permission` kontrol noktasından geçer: HTTP GET 403 döndürür, `url_change` bir `permission_denied` çerçevesi yayınlar ve işlemi atlar, ve `{% live_render %}` (iştahı ve tembel) gömme işlemini reddeder. Özel bir `get_object` olmayan görünümler etkilenmez (hiçbir işlem yapılmaz). Güncelleme dışında güvenilir bir çözüm yolu yoktur. Nesne kapsamlı görünümleri, yama uygulanana kadar HTTP-GET / url_change / live_render yollarından ortaya çıkarmayın.

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, djust's per-object authorization (`get_object` + `has_object_permission`, ADR-017) was enforced on the WebSocket mount and event paths but not on three other render entry points: (a) the initial HTTP GET render, (b) SPA `url_change` navigation, and (c) `{% live_render %}` embedded child views. An authenticated user could therefore view (and on some paths act on) an object they are not authorized for by loading the page directly, navigating to it via SPA url-change, or composing it as an embedded child — a classic IDOR / broken object-level access control on object-scoped views. This is fixed in djust 1.0.7. All render entry points now route through a shared `enforce_object_permission` chokepoint: HTTP GET returns 403, `url_change` emits a `permission_denied` frame and skips the render, and `{% live_render %}` (eager + lazy) refuses the embed. Views without a custom `get_object` are unaffected (no-op). No reliable workaround short of upgrading. Do not expose object-scoped views through the HTTP-GET / url_change / live_render paths until patched.

Bu CVE için henüz editoryal inceleme yapılmadı. Sadece otomatik teknik veri gösteriliyor.