Vulnerabilidad en las secuencias de barras "%2F" y "%5C" en las rutas de URL HTTPEnvoy (CVE-2021-29492)
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:
28/05/2021
Última modificación:
10/12/2021
Descripción
Envoy es un proxy de borde/medio/servicio nativo de la nube. Envoy no descifra las secuencias de barras diagonales escapadas `%2F` y `%5C` en las rutas URL HTTP en las versiones 1.18.2 y anteriores. Un atacante remoto puede crear una ruta con barras escapadas, por ejemplo `algo%2F..%2Fadmin`, para saltarse el control de acceso, por ejemplo, un bloqueo en `/admin`. Un servidor backend podría entonces decodificar las secuencias de barras y normalizar la ruta y proporcionar a un atacante acceso más allá del alcance previsto por la política de control de acceso. ### Impacto Escalada de Privilegios cuando se utilizan filtros RBAC o JWT con aplicación basada en la ruta de la URL. Los usuarios con servidores de back-end que interpretan `%2F` y `/` y `%5C` y `\` indistintamente están impactados. ### Vector de ataque Rutas de URL que contienen caracteres de barra diagonal escapados entregados por un cliente que no es de confianza. Los parches de las versiones 1.18.3, 1.17.3, 1.16.4 y 1.15.5 contienen una nueva opción de normalización de rutas para descodificar los caracteres de barra diagonal escapados. Como solución, si los servidores finales tratan `%2F` y `/` y `%5C` y `\` indistintamente y se configura un control de acceso basado en la ruta de la URL, se puede reconfigurar el servidor final para que no trate `%2F` y `/` y `%5C` y `\` indistintamente
Impacto
Puntuación base 3.x
8.30
Gravedad 3.x
ALTA
Puntuación base 2.0
7.50
Gravedad 2.0
ALTA
Productos y versiones vulnerables
| CPE | Desde | Hasta |
|---|---|---|
| cpe:2.3:a:envoyproxy:envoy:*:*:*:*:*:*:*:* | 1.15.5 (excluyendo) | |
| cpe:2.3:a:envoyproxy:envoy:*:*:*:*:*:*:*:* | 1.16.0 (incluyendo) | 1.16.4 (excluyendo) |
| cpe:2.3:a:envoyproxy:envoy:*:*:*:*:*:*:*:* | 1.17.0 (incluyendo) | 1.17.3 (excluyendo) |
| cpe:2.3:a:envoyproxy:envoy:*:*:*:*:*:*:*:* | 1.18.0 (incluyendo) | 1.18.3 (excluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página



