Vulnerabilidad en aiohttp (CVE-2024-42367)
Gravedad CVSS v3.1:
MEDIA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
12/08/2024
Última modificación:
19/08/2025
Descripción
aiohttp es un framework cliente/servidor HTTP asíncrono para asyncio y Python. Antes de la versión 3.10.2, las rutas estáticas que contienen archivos con variantes comprimidas (extensión `.gz` o `.br`) son vulnerables al path traversal fuera del directorio raíz si esas variantes son enlaces simbólicos. El servidor protege las rutas estáticas contra el path traversal fuera del directorio raíz cuando `follow_symlinks=False` (predeterminado). Para ello, resuelve la URL solicitada en una ruta absoluta y luego verifica esa ruta en relación con la raíz. Sin embargo, estas comprobaciones no se realizan cuando se buscan variantes comprimidas en la clase `FileResponse`, y los enlaces simbólicos se siguen automáticamente al realizar `Path.stat()` y `Path.open()` para enviar el archivo. La versión 3.10.2 contiene un parche para el problema.
Impacto
Puntuación base 3.x
4.80
Gravedad 3.x
MEDIA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:a:aiohttp:aiohttp:*:*:*:*:*:*:*:* | 3.10.0 (incluyendo) | 3.10.2 (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://github.com/aio-libs/aiohttp/blob/e0ff5246e1d29b7710ab1a2bbc972b48169f1c05/aiohttp/web_fileresponse.py#L177
- https://github.com/aio-libs/aiohttp/blob/e0ff5246e1d29b7710ab1a2bbc972b48169f1c05/aiohttp/web_urldispatcher.py#L674
- https://github.com/aio-libs/aiohttp/commit/ce2e9758814527589b10759a20783fb03b98339f
- https://github.com/aio-libs/aiohttp/pull/8653
- https://github.com/aio-libs/aiohttp/security/advisories/GHSA-jwhx-xcg6-8xhj