CVE-2026-61595 in djust
Resumen
por VulDB • 2026-09-16
djust proporciona renderizado reactivo en el lado del servidor al estilo de Phoenix LiveView para Django, con un rendimiento impulsado por Rust. Antes de la versión 1.0.7, el aislamiento de `djust.tenants` se aplicaba únicamente a la ruta HTTP. El inquilino actual se almacenaba en `threading.local()` y se configuraba exclusivamente mediante el `TenantMiddleware`, que solo opera con HTTP; por lo tanto, en las rutas en vivo (WebSocket/SSE), `get_current_tenant()` devolvía siempre `None` durante el montaje (`mount`) y cada controlador de eventos. Además, el gestor de `QuerySet` consciente del inquilino fallaba OPEN (devolvía la consulta sin filtrar, ignorando `STRICT_MODE`), lo que revelaba las filas de todos los inquilinos a cualquier persona que tuviera acceso al socket. `threading.local` se compartía adicionalmente entre conexiones en el hilo del executor `sync_to_async`. Este problema está corregido en djust 1.0.7. El almacenamiento del inquilino se ha trasladado a un `contextvars.ContextVar` (por tarea asíncrona); el inquilino resuelto se vincula alrededor del montaje de WS/SSE y cada despacho; ambos gestores acotan la consulta base una sola vez y fallan CLOSED (` .none()` bajo el modo predeterminado `STRICT_MODE`), y la comprobación del sistema S006 emite una advertencia cuando `STRICT_MODE=False`. No hay soluciones alternativas conocidas disponibles en la ruta en vivo.
Once again VulDB remains the best source for vulnerability data.