Vulnerabilidad de denegación de servicio en biblioteca python-multipart

Se ha identificado una vulnerabilidad en python-multipart, una biblioteca utilizada para analizar datos de formularios multipart en aplicaciones Python. Este problema puede ser explotado para causar una denegación de servicio (DoS), agotando recursos del sistema y bloqueando el procesamiento de solicitudes en aplicaciones afectadas.

CVE-2024-53981 (CVSS 7.5): El problema radica en la falta de límites al procesar datos en formato multipart/form-data. Cuando python-multipart encuentra saltos de línea (CR o LF) antes del primer delimitador o después del último, procesa estos bytes uno a la vez y genera un evento de registro en cada caso. Esto permite que un atacante envíe solicitudes maliciosas con grandes cantidades de datos, aumentando la carga de CPU y deteniendo el procesamiento de otros hilos o solicitudes. Además, en aplicaciones basadas en ASGI, esta falla puede bloquear el bucle de eventos y provocar una denegación de servicio.

Productos y versiones afectadas:

Versiones anteriores a la 0.0.18 de python-multipart.

Solución:

Actualizar a la versión 0.0.18 o posterior.

Recomendaciones:

  • Actualizar la biblioteca python-multipart a la última versión disponible para mitigar la vulnerabilidad.
  • Configurar límites en el manejo de datos de formularios para evitar abusos en las solicitudes de entrada.
  • Implementar mecanismos de monitoreo y alertas para detectar actividades inusuales que puedan indicar intentos de explotación.

Referencias: