ModSecurity 3 con Nginx vulnerable a ataque DoS

El ataque, que provoca un ‘segmentation fault’ por un análisis incorrecto de las cookies, ha sido catalogado con un CVSS de 7.5

Ervin Hegedüs, un colaborador habitual del proyecto de software libre ModSecurity, ha encontrado, junto con otros usuarios, un fallo en la forma en que ModSecurity 3 interpreta las cookies, la cual puede aprovecharse para producir una violación de segmento (del inglés ‘Segmentation Fault’) en el proceso de Nginx.

El error, que ya ha sido subsanado en una nueva versión, se encuentra en la forma en que divide las partes de una cookie, las cuales, si están bien formadas se separan con un igual (‘=’) entre clave y valor y punto y coma (‘;’) entre pares. No obstante, la nueva versión no se encontraba preparada para cadenas malformadas.

El fallo fue detectado en uno de los tests que no se superaban en la versión 3.0 de ModSecurity. Al realizar pruebas intentando reproducir el error, se comprobó que una cadena usando ‘=;‘ provocaba una violación de segmento en Nginx junto con el error ‘out_of_bounds exception’ en los registros del servidor web.

La vulnerabilidad ha recibido el identificador CVE-2019-19886 y ha sido catalogada con un nivel de criticidad de 7.5 sobre 10 según el cálculo usando CVSS. No se encuentran afectadas versiones anteriores a ModSecurity 3 y, en principio, no hay otros servidores web usados junto con ModSecurity afectados. No obstante, aparte de la actualización 3.0.4 que soluciona el error, se ha liberado un parche para aquellos usuarios que no puedan actualizar.

Para mayor información:

  • https://nvd.nist.gov/vuln/detail/CVE-2019-19886
  • https://www.trustwave.com/en-us/resources/blogs/spiderlabs-blog/modsecurity-denial-of-service-details-cve-2019-19886/