Vulnerabilidad en Hoverfly (CVE-2024-45388)
Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-22
Limitación incorrecta de nombre de ruta a un directorio restringido (Path Traversal)
Fecha de publicación:
02/09/2024
Última modificación:
19/09/2024
Descripción
Hoverfly es una herramienta liviana de simulación de API/virtualización de servicios/simulación de API para desarrolladores y evaluadores. El controlador POST `/api/v2/simulation` permite a los usuarios crear nuevas vistas de simulación a partir del contenido de un archivo especificado por el usuario. Un atacante puede abusar de esta característica para leer archivos arbitrarios del servidor Hoverfly. Tenga en cuenta que, aunque el código evita que se especifiquen rutas absolutas, un atacante puede escapar de la ruta base `hf.Cfg.ResponsesBodyFilesPath` mediante segmentos `../` y llegar a cualquier archivo arbitrario. Este problema se encontró utilizando la consulta CodeQL de expresión de ruta de datos no controlados para Python. Se recomienda a los usuarios asegurarse de que la ruta final (`filepath.Join(hf.Cfg.ResponsesBodyFilesPath, filePath)`) esté contenida dentro de la ruta base esperada (`filepath.Join(hf.Cfg.ResponsesBodyFilesPath, "/")`). Este problema también se registra como GHSL-2023-274.
Impacto
Puntuación base 3.x
7.50
Gravedad 3.x
ALTA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:a:hoverfly:hoverfly:*:*:*:*:*:*:*:* | 1.10.3 (excluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página
Referencias a soluciones, herramientas e información
- https://codeql.github.com/codeql-query-help/go/go-path-injection
- https://github.com/SpectoLabs/hoverfly/releases/tag/v1.10.3
- https://github.com/SpectoLabs/hoverfly/security/advisories/GHSA-6xx4-x46f-f897
- https://github.com/spectolabs/hoverfly/blob/15d6ee9ea4e0de67aec5a41c28d21dc147243da0/core/handlers/v2/simulation_handler.go#L87