La manipulación de la verificación de firmas se ha convertido en una baza clave para los atacantes.
En la herramienta ampliamente utilizada para la búsqueda de vulnerabilidades Nuclei, desarrollada por ProjectDiscovery, se ha identificado una vulnerabilidad grave , que permite a los atacantes eludir la verificación de firmas y ejecutar código malicioso. La vulnerabilidad ha sido catalogada con el identificador CVE-2024-43405 y tiene una puntuación de 7.4 sobre 10 en la escala CVSS. Afecta a todas las versiones de Nuclei a partir de la 3.0.0.
El problema surge debido a que la verificación de firmas y el analizador YAML manejan de manera diferente los caracteres de nueva línea. Combinado con la forma en que el sistema procesa múltiples firmas, los atacantes pueden añadir código malicioso a las plantillas, manteniendo al mismo tiempo una firma válida para la parte segura.
Nuclei se utiliza para escanear aplicaciones, infraestructuras en la nube y redes en busca de vulnerabilidades, aplicando plantillas basadas en YAML. La vulnerabilidad afecta el proceso de verificación de la integridad de las plantillas almacenadas en el repositorio oficial, lo que hace posible la inserción de datos maliciosos eludiendo la verificación.
Los investigadores de la empresa Wiz descubrieron que los atacantes pueden aprovechar una incompatibilidad en el manejo de caracteres de nueva línea entre las expresiones regulares y el analizador YAML. En particular, el carácter «\r» puede ser utilizado para eludir la verificación de firmas y ejecutar código a través del analizador YAML.
La explotación de la vulnerabilidad permite a los atacantes crear una plantilla que incluye múltiples líneas con la firma «# digest:», de las cuales solo se verifica la primera, mientras que las demás son ignoradas durante la verificación pero ejecutadas por el analizador. Además, el proceso de exclusión de la línea de la firma se realiza de forma incorrecta, lo que también deja espacio para la ejecución de datos no verificados.
ProjectDiscovery solucionó la vulnerabilidad el 4 de septiembre de 2024 en la versión 3.3.2. La versión más reciente de Nuclei es la 3.3.7. Se recomienda encarecidamente a los usuarios actualizar el programa a la versión más actual.
Según explicaron los investigadores, el vector de ataque surge cuando las organizaciones ejecutan plantillas no confiables o públicas sin una verificación adecuada. La explotación de la vulnerabilidad puede llevar a la ejecución de código arbitrario, robo de datos o compromiso del sistema.