
Se ha revelado una falla de seguridad de alta gravedad en ProjectDiscovery núcleosun escáner de vulnerabilidades de código abierto ampliamente utilizado que, si se explota con éxito, podría permitir a los atacantes eludir las comprobaciones de firmas y potencialmente ejecutar código malicioso.
Seguimiento como CVE-2024-43405tiene una puntuación CVSS de 7,4 sobre un máximo de 10,0. Afecta a todas las versiones de Nuclei posteriores a la 3.0.0.
“La vulnerabilidad surge de una discrepancia entre cómo el proceso de verificación de firmas y el analizador YAML manejan los caracteres de nueva línea, combinado con la forma en que se procesan las firmas múltiples”, según un descripción de la vulnerabilidad.
“Esto permite a un atacante inyectar contenido malicioso en una plantilla mientras mantiene una firma válida para la parte benigna de la plantilla”.
Nuclei es un escáner de vulnerabilidades diseñado para sondear aplicaciones, infraestructuras, plataformas en la nube y redes modernas para identificar fallas de seguridad. El motor de escaneo hace uso de plantillasque no son más que archivos YAML, para enviar solicitudes específicas para determinar la presencia de un defecto.
Además, puede permitir la ejecución de código externo en el sistema operativo host utilizando el protocolo de códigobrindando así a los investigadores más flexibilidad sobre los flujos de trabajo de pruebas de seguridad.
La empresa de seguridad en la nube Wiz, que descubrió CVE-2024-43405, dijo que la vulnerabilidad tiene su origen en el proceso de verificación de firma de plantilla, que se utiliza para garantizar la integridad de las plantillas disponibles en el repositorio de plantillas oficiales.
La explotación exitosa de la vulnerabilidad es evitar este paso de verificación crucial, lo que permite a los atacantes crear plantillas maliciosas que pueden ejecutar código arbitrario y acceder a datos confidenciales desde el host.
“Dado que esta verificación de firma es actualmente el único método disponible para validar las plantillas de Nuclei, representa un punto único potencial de fallo”, afirma Guy Goldenberg, investigador de Wiz. dicho en un análisis del viernes.
En esencia, el problema surge del uso de expresiones regulares (también conocidas como expresiones regulares) para la validación de firmas y el conflicto de análisis que surge como resultado del uso de expresiones regulares y del analizador YAML, abriendo así la puerta a un escenario en el que un atacante puede introducir un ” r” carácter tal que evita la verificación de firma basada en expresiones regulares y el analizador YAML lo interpreta como un salto de línea.
Dicho de otra manera, estas inconsistencias en el análisis podrían encadenarse para crear una plantilla de Nuclei que use “r” para incluir una segunda línea “# digest:” que evade el proceso de verificación de firma pero es analizada y ejecutada por el intérprete YAML.
“La verificación de firmas basada en expresiones regulares de Go trata \r como parte de la misma línea, mientras que el analizador YAML lo interpreta como un salto de línea. Esta falta de coincidencia permite a los atacantes inyectar contenido que pasa por alto la verificación pero es ejecutado por el analizador YAML”, explicó Goldenberg .
“La lógica de verificación valida solo la primera línea # digest:. Las líneas # digest: adicionales se ignoran durante la verificación, pero permanecen en el contenido que YAML analizará y ejecutará”.
Además, el proceso de verificación incluye un paso para excluir la línea de firma del contenido de la plantilla, pero lo hace de manera que solo se valida la primera línea, dejando así las líneas siguientes sin verificar pero ejecutables.
Tras una divulgación responsable, ProjectDiscovery lo abordó el 4 de septiembre de 2024, con versión 3.3.2. La versión actual de Nuclei es 3.3.7.
“Los atacantes podrían crear plantillas maliciosas que contengan líneas de resumen # manipuladas o saltos de línea r cuidadosamente colocados para evitar la verificación de firmas de Nuclei”, dijo Goldenberg.
“Un vector de ataque para esta vulnerabilidad surge cuando las organizaciones ejecutan plantillas que no son de confianza o aportadas por la comunidad sin la validación o el aislamiento adecuados. Un atacante podría explotar esta funcionalidad para inyectar plantillas maliciosas, lo que llevaría a la ejecución de comandos arbitrarios, la filtración de datos o el compromiso del sistema”.





