El equipo de desarrollo del popular framework web Django ha lanzado las versiones de mantenimiento 6.0.8 y 5.2.17 para corregir cuatro vulnerabilidades de seguridad que afectan a las ramas compatibles del sistema. Se insta a los administradores y equipos de DevSecOps a aplicar estas actualizaciones lo antes posible, con un nivel de prioridad alto para aquellas aplicaciones que tengan expuesta la interfaz de administración integrada o que hagan uso del módulo de información geográfica (Django GIS).
El peligro principal: Escritura de archivos y posible RCE en Django GIS
El problema de mayor impacto en este aviso es CVE-2026-15307, una vulnerabilidad de alta gravedad que afecta las búsquedas espaciales encargadas de procesar valores relacionados con rásteres a través de GDALRaster. Hasta ahora, el sistema permitía procesar valores de cadena y diccionario que, al ser manipulados por un atacante, desencadenaban operaciones inseguras.
Dependiendo del controlador configurado, un actor malicioso podía abusar de esto para forzar la escritura de archivos en el servidor o realizar solicitudes de red encubiertas utilizando los permisos del proceso de Django. En entornos vulnerables, este comportamiento de escritura de archivos abre la puerta a la Ejecución Remota de Código (RCE). El riesgo es particularmente crítico en el panel de administración, donde usuarios con permisos de solo lectura podrían explotar los filtros de modelos con campos espaciales para ejecutar el ataque. Para solucionarlo, Django ahora bloquea cualquier valor que no sea un objeto GEOSGeometry válido.
Múltiples vías hacia la Denegación de Servicio (DoS) y XSS
Adicionalmente, el parche cierra otras tres brechas de seguridad. Dos de ellas exponen las aplicaciones a interrupciones por Denegación de Servicio (DoS):
- CVE-2026-15830: Permite colapsar el servicio provocando un fallo de segmentación (segfault) en la biblioteca GEOS subyacente si un atacante envía objetos de geometría geográfica (GEOMETRYCOLLECTION) con un nivel de anidamiento excesivo. Django ahora impone un límite estricto de 198 colecciones anidadas.
- CVE-2026-15337: Un fallo de DoS de baja gravedad que permitía a un atacante agotar la memoria del servidor inundando la caché con códigos de idioma extremadamente largos mediante solicitudes POST. El nuevo límite es de 500 caracteres.
Finalmente, se ha mitigado un fallo de Cross-Site Scripting (XSS) almacenado de gravedad moderada en el panel de administración (CVE-2026-15920). Anteriormente, el sistema renderizaba campos de URL como enlaces clicables sin validar si utilizaban esquemas seguros (como javascript:), lo que permitía la ejecución de scripts en el navegador de los administradores.
Plan de acción y mitigación
Las organizaciones deben actualizar inmediatamente sus implementaciones de Django a las versiones 6.0.8, 5.2.17 o ramas superiores parcheadas.
Dado que el nuevo modelo de seguridad bloquea entradas que antes eran permitidas en el módulo GIS, los desarrolladores deberán realizar pruebas de regresión exhaustivas para garantizar la compatibilidad de las búsquedas espaciales en el código personalizado. Asimismo, es crucial auditar todas las entradas de datos geográficos no confiables y revisar las políticas de control de acceso para los usuarios con privilegios en el panel de administración de Django.




