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
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
Explota
Exploit-db.com
id |
descripción |
fecha |
|
No hay exploits conocidos |
Otros (github, ...)
CAPEC
id |
descripción |
gravedad |
79 |
Uso de barras inclinadas en la codificación alternativa
Este ataque se dirige a la codificación de los caracteres de la barra diagonal. Un adversario trataría de explotar los problemas de filtrado comunes relacionados con el uso de los caracteres de barra para obtener acceso a los recursos en el host objetivo. Los sistemas basados en directorios, como los sistemas de archivos y las bases de datos, suelen utilizar el carácter de barra para indicar el paso entre directorios u otros componentes del contenedor. Por turbias razones históricas, los PC (y, en consecuencia, los SO de Microsoft) optan por utilizar una barra invertida, mientras que el mundo UNIX suele hacer uso de la barra diagonal. El resultado esquizofrénico es que muchos sistemas basados en MS deben entender ambas formas de la barra. Esto da al adversario muchas oportunidades para descubrir y abusar de una serie de problemas de filtrado comunes. El objetivo de este patrón es descubrir el software del servidor que sólo aplica filtros a una versión, pero no a la otra. [Inspeccionar la aplicación en busca de entradas controlables por el usuario] Utilizando un navegador, una herramienta automatizada o inspeccionando la aplicación, un adversario registra todos los puntos de entrada a la aplicación. [El adversario utiliza los puntos de entrada recogidos en la fase de "exploración" como una lista de objetivos y busca las áreas en las que la entrada del usuario se utiliza para acceder a los recursos en el host de destino. El adversario intenta diferentes codificaciones de caracteres de barra para evitar los filtros de entrada. [Una vez que el adversario determina cómo eludir los filtros que filtran los caracteres de barra, manipulará la entrada del usuario para incluir barras con el fin de atravesar los directorios y acceder a los recursos que no están destinados al usuario. |
Alto |
64 |
Uso combinado de barras y codificación de URL para eludir la lógica de validación
Este ataque se dirige a la codificación de la URL combinada con la codificación de los caracteres de barra. Un atacante puede aprovechar las múltiples formas de codificación de una URL y abusar de la interpretación de la misma. Una URL puede contener caracteres especiales que necesitan un manejo especial de la sintaxis para ser interpretados. Los caracteres especiales se representan mediante un carácter de porcentaje seguido de dos dígitos que representan el código de octetos del carácter original (%HEX-CODE). Por ejemplo, el carácter de espacio US-ASCII se representaría con %20. Esto se suele denominar terminación escapada o codificación porcentual. Dado que el servidor decodifica la URL a partir de las solicitudes, puede restringir el acceso a algunas rutas de URL validando y filtrando las solicitudes de URL que recibe. Un atacante intentará crear una URL con una secuencia de caracteres especiales que, una vez interpretada por el servidor, equivaldrá a una URL prohibida. Puede ser difícil protegerse contra este ataque ya que la URL puede contener otro formato de codificación como la codificación UTF-8, la codificación Unicode, etc. El atacante accede al servidor utilizando una URL específica. El atacante intenta codificar algunos caracteres especiales en la URL. El atacante descubre que algunos caracteres no se filtran correctamente. El atacante elabora una petición de cadena de URL maliciosa y la envía al servidor. El servidor decodifica e interpreta la cadena de URL. Desgraciadamente, como el filtrado de entrada no se hace correctamente, los caracteres especiales tienen consecuencias perjudiciales. |
Alto |
78 |
Uso de barras diagonales escapadas en la codificación alternativa
Este ataque se dirige al uso de la barra invertida en la codificación alternativa. Un adversario puede proporcionar una barra invertida como carácter inicial y hacer que el analizador sintáctico crea que el siguiente carácter es especial. Esto se llama un escape. Usando ese truco, el adversario intenta explotar formas alternativas de codificar el mismo carácter, lo que conduce a problemas de filtrado y abre vías de ataque. [Inspeccionar la aplicación en busca de entradas controlables por el usuario] Utilizando un navegador, una herramienta automatizada o inspeccionando la aplicación, un adversario registra todos los puntos de entrada a la aplicación. [El adversario utiliza los puntos de entrada recogidos en la fase de "Exploración" como una lista de objetivos e intenta escapar de varios caracteres especiales diferentes utilizando una barra invertida. [Manipular la entrada] Una vez que el adversario determina cómo eludir los filtros que filtran los caracteres especiales utilizando una barra invertida, manipulará la entrada del usuario de una manera no prevista por la aplicación. |
Alto |
126 |
Path Traversal
Un adversario utiliza métodos de manipulación de rutas para explotar la insuficiente validación de entrada de un objetivo para obtener acceso a datos que no deberían ser recuperables mediante peticiones ordinarias bien formadas. Una variedad típica de este ataque consiste en especificar una ruta de acceso a un archivo deseado junto con caracteres de barra de puntos, lo que da lugar a que la función o la API de acceso a archivos salga de la estructura de directorios prevista y entre en el sistema de archivos raíz. Al reemplazar o modificar la información de la ruta esperada, la función de acceso o la API recupera el archivo deseado por el atacante. Estos ataques implican que el atacante proporcione una ruta completa a un archivo objetivo o que utilice caracteres de control (por ejemplo, separadores de ruta (/ o ) y/o puntos (.)) para llegar a los directorios o archivos deseados. [Para realizar un recorrido válido de la ruta, el atacante necesita saber cuál es el sistema operativo subyacente para utilizar el separador de archivos adecuado. [El atacante examina la aplicación objetivo para identificar todas las entradas de archivos controlables por el usuario [Variar las entradas, buscando resultados maliciosos] Dependiendo de si la aplicación que se está explotando es remota o local, el atacante crea la entrada maliciosa apropiada que contiene la ruta del archivo objetivo u otra sintaxis de control del sistema de archivos que se pasará a la aplicación [Manipular archivos accesibles por la aplicación] El atacante puede robar información o manipular directamente los archivos (borrar, copiar, vaciar, etc.) |
Muy alto |
76 |
Manipulación de la entrada web a las llamadas del sistema de archivos
Un atacante manipula las entradas del software de destino que éste pasa a las llamadas del sistema de archivos en el SO. El objetivo es obtener acceso, y tal vez modificar, áreas del sistema de archivos a las que el software de destino no tenía intención de acceder. [Para crear una inyección de archivos válida, el atacante necesita saber cuál es el sistema operativo subyacente para utilizar el separador de archivos adecuado. [Inspeccionar la aplicación para identificar las entradas controlables por el usuario] El atacante inspecciona la aplicación objetivo para identificar todas las entradas controlables por el usuario, posiblemente como un usuario válido y autenticado [Variar las entradas, buscando resultados maliciosos] Dependiendo de si la aplicación que se está explotando es remota o local, el atacante crea la entrada maliciosa apropiada que contenga la ruta del archivo objetivo u otra sintaxis de control del sistema de archivos para pasarla a la aplicación [Manipular los archivos accesibles por la aplicación] El atacante puede robar información o manipular directamente los archivos (borrar, copiar, flush, etc.) |
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