Vulnerabilidad de omisión de autenticación en Django

Django es un framework de desarrollo web de código abierto, escrito en Python, que respeta el patrón de diseño conocido como modelo–vista–controlador. Actualmente el equipo de Django está lanzando nuevas actualizaciones, pero estas versiones abordan un problema de seguridad.

La vulnerabilidad, identificada como CVE-2023-31047 y clasificada como crítico, con un puntaje base CVSS de 9.8 otorga a un agente malicioso la posibilidad de omitir la validación al usar un campo de formulario para cargar varios archivos. Esta carga múltiple nunca ha sido compatible con forms.FileField o forms.ImageField (solo se validó el último archivo cargado). Sin embargo, la documentación de «Cargar varios archivos» de Django sugirió lo contrario.

Versiones afectadas

  • 3.2 antes de 3.2.19
  • 4.x antes de 4.1.9
  • 4.2 antes de 4.2.1

Solución

Se han aplicado parches para resolver el problema en la rama principal de Django y en las versiones 4.2, 4.1 y 3.2 o la posible omisión de la validación usando un campo de formulario.

Recomendación

Se recomienda a los usuarios que actualicen a la versiones parcheadas lo antes posible para proteger sus sistemas contra estas amenazas.

Referencias