Falla de Nuclei permite que las plantillas maliciosas eludan verificación

Iniciado por AXCESS, Enero 06, 2025, 11:14:55 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Una vulnerabilidad ya corregida en el escáner de vulnerabilidades de código abierto Nuclei podría permitir a los atacantes eludir la verificación de firmas mientras introducen código malicioso en plantillas que se ejecutan en sistemas locales.

Nuclei es un escáner de vulnerabilidades de código abierto popular creado por ProjectDiscovery que escanea sitios web en busca de vulnerabilidades y otras debilidades.

El proyecto utiliza un sistema de escaneo basado en plantillas de más de 10 000 plantillas YAML que escanean sitios web en busca de vulnerabilidades conocidas, configuraciones incorrectas, archivos de configuración expuestos, webshells y puertas traseras.

Las plantillas YAML también incluyen un protocolo de código que se puede utilizar para ejecutar comandos o scripts localmente en un dispositivo que amplía la funcionalidad de una plantilla.

Cada plantilla está "firmada" con un hash de resumen que Nuclei utiliza para verificar que la plantilla no haya sido modificada para incluir código malicioso.

Este hash de resumen se agrega al final de las plantillas en forma de:

# digest: <hash>

Una falla evita la verificación de firma de Nuclei

Los investigadores de Wiz descubrieron una nueva vulnerabilidad de Nuclei identificada como CVE-2024-43405 que evita la verificación de firma de Nuclei incluso si se modifica una plantilla para incluir código malicioso.

La falla es causada por una verificación de firma basada en expresiones regulares de Go y por cómo el analizador YAML maneja los saltos de línea al verificar la firma.

Al verificar una firma, la lógica de verificación de Go trata a \r como parte de la misma línea. Sin embargo, el analizador YAML lo interpreta como un salto de línea. Esta falta de coincidencia permite a los atacantes inyectar contenido malicioso que evita la verificación pero que aún se ejecuta cuando lo procesa el analizador YAML.

Otro problema es cómo Nuclei maneja múltiples líneas de firma # digest:, ya que el proceso solo verifica la primera aparición de # digest: en una plantilla, ignorando cualquier otra que se encuentre más adelante en la plantilla.

Esto se puede aprovechar añadiendo cargas útiles maliciosas adicionales "# digest:" después del resumen válido inicial que contienen una sección de "código" malicioso, que luego se inyecta y se ejecuta cuando se utiliza la plantilla.

"Armados con los conocimientos sobre las interpretaciones de nueva línea no coincidentes, creamos una plantilla que explota la disparidad entre la implementación de expresiones regulares de Go y el analizador YAML", explica el investigador de Wiz Guy Goldenberg.

"Al usar \r como salto de línea, podemos incluir una segunda línea # digest: en la plantilla que evade el proceso de verificación de firma pero es analizada y ejecutada por el intérprete YAML".

Ejemplo de cómo los diferentes analizadores analizan una plantilla de Nuclei
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Wiz reveló responsablemente la falla a ProjectDiscovery el 14 de agosto de 2024, y se solucionó en Nuclei v3.3.2 el 4 de septiembre.

Si está utilizando versiones anteriores de Nuclei, se recomienda encarecidamente que actualice la última versión ahora que se han divulgado públicamente los detalles técnicos de este error.

Goldenberg también recomienda que se utilice Nuclei en una máquina virtual o en un entorno aislado para evitar una posible explotación por parte de plantillas maliciosas.


Fuente:
BleepingComputer
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

No tienes permitido ver enlaces. Registrate o Entra a tu cuenta