CVE-2026-113593 Exposición de datos privados en Django por encabezados Vary vacíos o ausentes
Django 6.1 antes de 6.1.3, 6.0 antes de 6.0.10 y 5.2 antes de 5.2.19 tienen un problema en django.middleware.cache.UpdateCacheMiddleware y en el decorador django.views.decorators.cache.cache_page(): generan claves de caché idénticas para peticiones que omiten un encabezado listado en el Vary de la respuesta y para peticiones que lo incluyen con valor vacío, lo que podría permitir a atacantes remotos acceder a datos privados cacheados para otra petición. Las series anteriores no soportadas (como 5.1.x, 5.0.x y…
CVSS 3.1
- CVSS 4.02.3 · baja
- Probabilidad de explotación · EPSS del 09/110,5 % · percentil 40
- Explotada activamenteNo confirmada
- Exploit públicoNo conocido
Afectados
djangoproject Django
desde 6.1 hasta antes de 6.1.3desde 6.0 hasta antes de 6.0.10desde 5.2 hasta antes de 5.2.19
Qué hacer
- Verificá si usás Django y en qué versión.
- Actualizá a la versión corregida que indique el fabricante en su aviso o aplicá su mitigación.
- Revisá registros y accesos de los sistemas expuestos para descartar un uso previo.
Calculadora CVSS
CVSS 3.1 · 3.1 BAJA
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:N
- Vector de ataqueRed
- Complejidad del ataqueAlta
- Privilegios requeridosNinguno
- Interacción del usuarioRequerida
- AlcanceSin cambio
- ConfidencialidadBaja
- IntegridadNinguna
- DisponibilidadNinguna
CVSS 4.0 · 2.3 BAJA
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
- Vector de ataqueRed
- Complejidad del ataqueBaja
- Requisitos del ataquePresentes
- Privilegios requeridosNinguno
- Interacción del usuarioPasiva
- Confidencialidad (sistema vulnerable)Baja
- Integridad (sistema vulnerable)Ninguna
- Disponibilidad (sistema vulnerable)Ninguna
- Confidencialidad (sistemas posteriores)Ninguna
- Integridad (sistemas posteriores)Ninguna
- Disponibilidad (sistemas posteriores)Ninguna
Descripción original
An issue was discovered in Django 6.1 before 6.1.3, 6.0 before 6.0.10, and 5.2 before 5.2.19.
The `django.middleware.cache.UpdateCacheMiddleware` and the `django.views.decorators.cache.cache_page()` decorator generate identical cache keys for requests that omit a header listed in the response’s `Vary` header and requests that include that header with an empty value, potentially allowing remote attackers to access private data cached for another request.
Earlier, unsupported Django series (such as 5.1.x, 5.0.x, and 4.2.x) were not evaluated and may also be affected.
Django would like to thank Andrew Gonzalez for reporting this issue.
Referencias (7)
- docs.djangoproject.com/en/dev/releases/security/
- groups.google.com/g/django-announce
- github.com/django/django/commit/c0b7e5e4e4546e8ddc58262f1945938bb9d9ac2d
- github.com/django/django/commit/55e2e009b4f3996e5c55af7b22a8c41eb826e892
- github.com/django/django/commit/2006a2b068766bf332f1afcc32b7614d8e5759a2
- github.com/django/django/commit/9007fecd3633cfd90b093ebe106af564347c8aee
- www.djangoproject.com/weblog/2026/nov/03/security-releases/
Resumen traducido automáticamente de la descripción original. Fuente: Nureq Monitor. Cómo funciona.