CVE-2026-8023
Path traversal en el manejador de recursos del sistema de archivos estático del servidor HTTP de Zephyr permite la lectura remota arbitraria de archivos sin autenticación
- Publicado
- 29 jun 2026
- Actualizado
- 17 jul 2026
- Asignación de CNA
- zephyr
- Evidencia observada
- 8 ago 2026
CVSS primario
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:NBajo · próximos 30 días
- Percentil
- 56,8 %
- Fecha del modelo
- 21 sept 2026
EPSS es una estimación estadística, no una certeza o una medida de impacto. Combínelo con CVSS, estado KEV, exposición y su entorno.
Resumen
El servidor HTTP de Zephyr (`subsys/net/lib/http`) proporciona un tipo de recurso de sistema de archivos estático (`HTTP_RESOURCE_TYPE_STATIC_FS`, disponible cuando `CONFIG_FILE_SYSTEM` está habilitado) que sirve archivos desde un directorio raíz configurado. Antes de esta corrección, tanto el front-end HTTP/1 como el HTTP/2 colocaban la ruta de solicitud cruda controlada por el atacante en `client->url_buffer` (ensamblada en `on_url()` para HTTP/1 y copiada textualmente del pseudo-header `:path` para HTTP/2) sin resolver los segmentos `./..`. El manejador de FS estático luego construía el nombre de archivo en disco concatenando directamente la raíz configurada con esa URL cruda (`snprintk(fname, ..., "%s%s", static_fs_detail->fs_path, client->url_buffer)` en `http_server_http1.c:603` y `http_server_http2.c:490`) y lo abría con `fs_open(fname, FS_O_READ)`. Debido a que el manejador se alcanza mediante coincidencia de comodín/directorio principal (`fnmatch FNM_LEADING_DIR`) o coincidencia de recurso de respaldo, una solicitud como `GET /<prefijo>/../../<archivo>` se envía al manejador y, después de que el sistema de archivos subyacente (por ejemplo, LittleFS/FAT) resuelve los segmentos `..`, escapa de la raíz web configurada, permitiendo que un cliente remoto no autenticado lea archivos legibles arbitrarios en el volumen montado (divulgación de información). El servidor HTTP no requiere TLS ni autenticación para alcanzar esta ruta. La corrección añade `http_server_remove_dot_segments()`, que canonicaliza la parte de la ruta de la URL antes de la búsqueda de recursos en ambos manejadores de protocolo, neutralizando el traversal. Afecta a las versiones v4.0.0 hasta v4.4.0 para implementaciones que registran un recurso de sistema de archivos estático.
Fuentes
1PoC para CVE-2026-8023: Limitación Inadecuada de un Nombre de Ruta a un Directorio Restringido ('Path Traversal')
Uso responsable
Utilice información sobre vulnerabilidades solo en sistemas de su propiedad o que esté autorizado a probar. Kitploit enlaza con metadatos de investigación pública y no almacena código de explotación ni cargas útiles maliciosas.