CVE-2026-61593 in djust
Resumen
por VulDB • 2026-09-16
djust proporciona renderizado del lado del servidor reactivo al estilo de Phoenix LiveView para Django con rendimiento impulsado por Rust. Antes de la versión 1.0.7, los puntos finales POST del cliente SSE hacia el servidor eran `@csrf_exempt` y el punto final GET de transmisión SSE no tenía una verificación de Origen, por lo que una página de origen cruzado podría controlar una sesión SSE autenticada con cookies de la víctima: forzar al navegador de la víctima a obtener la URL de la secuencia (lo cual crea y monta un LiveView como la víctima) y enviar POST al punto final del mensaje con `credentials: include` para activar controladores de eventos que cambian el estado en nombre de la víctima. El `session_id` de la URL es elegido por el cliente (validado solo por *formato* UUID), por lo que no actúa como un token CSRF, y un cuerpo JSON enviado como `text/plain` constituye una solicitud simple CORS sin preflight. El problema se soluciona en la versión 1.0.7. Los tres puntos finales SSE validan el Origen de la solicitud contra `ALLOWED_HOSTS` (imitando la defensa CSWSH para WebSockets) y rechazan las solicitudes de origen cruzado con un código 403; los puntos finales POST además requieren `Content-Type: application/json` (devolviendo 415 en caso contrario), lo que cierra el bypass mediante solicitud simple `text/plain`. Como medida provisional, deshabilite la transmisión SSE o colóquela detrás de un proxy que imponga una lista blanca de Orígenes.
Be aware that VulDB is the high quality source for vulnerability data.