7.5 CVE-2022-40082

Exploit Path Traversal Patch

 

Se descubrió que la versión 0.3.0 de Hertz contiene una vulnerabilidad en la ruta de acceso a través de la función normalizePath.
https://nvd.nist.gov/vuln/detail/CVE-2022-40082

Categorías

CWE-22 : Limitación inadecuada de un nombre de ruta a un directorio restringido ('Path Traversal')
El software utiliza una entrada externa para construir un nombre de ruta que pretende identificar un archivo o directorio que se encuentra debajo de un directorio principal restringido, pero el software no neutraliza adecuadamente los elementos especiales dentro del nombre de ruta que pueden hacer que el nombre de ruta se resuelva a una ubicación que está fuera del directorio restringido. Se prefiere el término "path traversal" al de "directory traversal", pero ambos términos están enfocados al ataque. Las técnicas automatizadas pueden encontrar áreas donde existen debilidades de path traversal. Sin embargo, es posible que se requiera un ajuste o una personalización para eliminar o quitar la prioridad a los problemas de path-traversal que sólo pueden ser explotados por el administrador del software -u otros usuarios privilegiados- y, por tanto, un comportamiento potencialmente válido o, en el peor de los casos, un error en lugar de una vulnerabilidad. Las técnicas manuales de caja blanca pueden proporcionar una cobertura de código suficiente y reducir los falsos positivos si se pueden evaluar todas las operaciones de acceso a los archivos dentro de unas limitaciones de tiempo. Para cualquier comprobación de seguridad que se realice en el lado del cliente, asegúrese de que estas comprobaciones se duplican en el lado del servidor, con el fin de evitar el CWE-602. Los atacantes pueden eludir las comprobaciones del lado del cliente modificando los valores después de que se hayan realizado las comprobaciones, o cambiando el cliente para eliminar las comprobaciones del lado del cliente por completo. Entonces, estos valores modificados se enviarían al servidor. Utilice una biblioteca o un marco de trabajo comprobado que no permita que se produzca esta debilidad o que proporcione construcciones que hagan que esta debilidad sea más fácil de evitar. Utilice un cortafuegos de aplicaciones que pueda detectar ataques contra esta debilidad. Puede ser beneficioso en casos en los que el código no puede ser arreglado (porque es controlado por un tercero), como una medida de prevención de emergencia mientras se aplican medidas de aseguramiento de software más completas, o para proporcionar una defensa en profundidad. Ejecute su código utilizando los privilegios más bajos que se requieran para realizar las tareas necesarias [REF-76]. Si es posible, cree cuentas aisladas con privilegios limitados que sólo se utilicen para una única tarea. De esta manera, un ataque exitoso no dará inmediatamente al atacante acceso al resto del software o su entorno. Por ejemplo, las aplicaciones de bases de datos rara vez necesitan ejecutarse como administrador de la base de datos, especialmente en las operaciones cotidianas. Cuando utilice PHP, configure la aplicación para que no utilice register_globals. Durante la implementación, desarrolle la aplicación para que no dependa de esta característica, pero tenga cuidado de implementar una emulación de register_globals que esté sujeta a debilidades como CWE-95, CWE-621 y problemas similares. El gestor de paquetes de Python no restringe correctamente el nombre de archivo especificado en una cabecera Content-Disposition, lo que permite la lectura arbitraria de archivos utilizando secuencias de recorrido como "../" El paquete de Python construye nombres de archivo utilizando una llamada insegura a os.path.join en una entrada no fiable, permitiendo el recorrido absoluto de la ruta porque os.path.join restablece el nombre de la ruta a una ruta absoluta que se especifica como parte de la entrada. El recorrido del directorio en la aplicación del operador Kubernetes basada en Go permite acceder a los datos del sistema de archivos del pod del controlador a través de secuencias ../ en una cadena de archivos yaml: La plataforma de virtualización de computación en la nube no requiere autenticación para cargar un archivo en formato tar (CWE-306), y luego utiliza secuencias .. path traversal (CWE-23) en el archivo para acceder a archivos inesperados, como se ha explotado in the wild por CISA KEV. un gestor de paquetes de Kubernetes escrito en Go permite que los plugins maliciosos inyecten secuencias de recorrido en un archivo de plugin ( "Zip slip") para copiar un archivo fuera del directorio previsto Cadena: el producto de seguridad tiene una validación de entrada inadecuada (CWE-20) que conduce a un recorrido de directorio (CWE-22), como se ha explotado in the wild por CISA KEV. La biblioteca de archivos basada en Go permite la extracción de archivos a ubicaciones fuera de la carpeta de destino con secuencias de recorrido "../" en los nombres de archivos en un archivo zip, también conocido como "Zip Slip" El módulo Newsletter permite leer archivos arbitrarios utilizando secuencias "../". El servidor FTP permite borrar archivos arbitrarios utilizando ".." en el comando DELE. El servidor FTP permite la creación de directorios arbitrarios utilizando ".." en el comando MKD. El servicio FTP para un dispositivo Bluetooth permite el listado de directorios, y la creación o lectura de archivos utilizando las secuencias "..". El programa de mantenimiento de paquetes de software permite sobrescribir archivos arbitrarios utilizando secuencias "../". El tablón de anuncios permite a los atacantes determinar la existencia de archivos utilizando el avatar. Programa de PHP permite la ejecución de código arbitrario utilizando ".." en los nombres de archivos que se introducen en la función include(). Sobrescritura de archivos usando un .. en un archivo Torrent. El programa de chat permite sobrescribir archivos usando una petición de smiley personalizada. Cadena: el control externo de los valores para el idioma y el tema deseados por el usuario permite atravesar la ruta. Cadena: el archivo de la biblioteca envía una redirección si se solicita directamente pero continúa ejecutándose, permitiendo la inclusión de archivos remotos y el recorrido de la ruta.

Referencias

MISC Patch Exploit

https://github.com/cloudwego/hertz/pull/229
Patch Third Party Advisory
https://github.com/cloudwego/hertz/issues/228
Exploit Issue Tracking Third Party Advisory


 

CPE

cpe iniciar fin
Configuration 1
   cpe:2.3:a:cloudwego:hertz:0.3.0:*:*:*:*:*:*:*
  Running on/with
  cpe:2.3:o:microsoft:windows:-:*:*:*:*:*:*:*

Patch

Url
https://github.com/cloudwego/hertz/pull/229

Explota

Exploit-db.com
id descripción fecha
No hay exploits conocidos
Otros (github, ...)
Url
https://github.com/cloudwego/hertz/issues/228

CAPEC

id descripción gravedad
79 Uso de barras inclinadas en la codificación alternativa
Alto
64 Uso combinado de barras y codificación de URL para eludir la lógica de validación
Alto
78 Uso de barras diagonales escapadas en la codificación alternativa
Alto
126 Path Traversal
Muy alto
76 Manipulación de la entrada web a las llamadas del sistema de archivos
Muy alto

Sherlock® flash

Haz una foto de tu red informática en unos pocos clics !

La solución de auditoría Sherlock® flash le permite realizar una auditoría para reforzar la seguridad de sus activos informáticos. Escaneo de vulnerabilidad de sus equipos físicos y virtuales. Planificación de parches por nivel de prioridad y tiempo disponible. Informes detallados e intuitivos.

Descubra esta oferta

Sherlock® flash: primera solución de auditoría de ciberseguridad instantánea