Notas de lanzamiento de Django 5.1.10

julio 4, 2025

Django 5.1.10 resuelve un problema de seguridad con severidad «baja» en 5.1.9.

CVE-2025-48432: Inyección potencial de registro a través de ruta de solicitud no escapada.

El registro de respuestas HTTP internas utiliza directamente request.path, lo que permite caracteres de control (por ejemplo, saltos de línea o secuencias de escape ANSI) ser escritos sin escapar en los registros. Esto podría permitir la inyección de log o falsificación, permitiendo a los atacantes manipular la apariencia o estructura de los registros, especialmente en los registros procesados por sistemas externos o visualizados en terminales.

Aunque esto no afecta directamente al modelo de seguridad de Django, plantea riesgos cuando los registros son consumidos o interpretados por otras herramientas. Para solucionar este problema, la función interna django.utils.log.log_response() ahora escapa todos los argumentos de formato posicional utilizando un codificado seguro.