CVE-2026-8023
Path traversal no manipulador de recursos do sistema de arquivos estático do servidor HTTP Zephyr permite leitura arbitrária remota de arquivos sem autenticação
- Publicado
- 29 de jun. de 2026
- Atualizado
- 17 de jul. de 2026
- Atribuindo CNA
- zephyr
- Evidência observada
- 8 de ago. de 2026
CVSS primário
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:NBaixo · próximos 30 dias
- Percentil
- 56,8%
- Data do modelo
- 21 de set. de 2026
EPSS é uma estimativa estatística, não uma certeza ou uma medida de impacto. Combine-o com CVSS, status KEV, exposição e seu ambiente.
Resumo
O servidor HTTP do Zephyr (`subsys/net/lib/http`) fornece um tipo de recurso de sistema de arquivos estático (`HTTP_RESOURCE_TYPE_STATIC_FS`, disponível quando `CONFIG_FILE_SYSTEM` está habilitado) que serve arquivos a partir de um diretório raiz configurado. Antes desta correção, tanto os front-ends HTTP/1 quanto HTTP/2 colocavam o caminho de requisição bruto, controlado pelo atacante, em `client->url_buffer` (montado em `on_url()` para HTTP/1 e copiado literalmente do pseudo-cabeçalho `:path` para HTTP/2) sem resolver segmentos `./..`. O manipulador de FS estático então construía o nome de arquivo no disco concatenando diretamente a raiz configurada com essa URL bruta (`snprintk(fname, ..., "%s%s", static_fs_detail->fs_path, client->url_buffer)` em `http_server_http1.c:603` e `http_server_http2.c:490`) e o abria com `fs_open(fname, FS_O_READ)`. Como o manipulador é alcançado por meio de correspondência de curinga/diretório líder (`fnmatch FNM_LEADING_DIR`) ou de recurso de fallback, uma requisição como `GET /<prefix>/../../<file>` é despachada para o manipulador e, após o sistema de arquivos subjacente (ex.: LittleFS/FAT) resolver os segmentos `..`, escapa da raiz web configurada, permitindo que um cliente remoto não autenticado leia arquivos legíveis arbitrários no volume montado (divulgação de informações). O servidor HTTP não exige TLS ou autenticação para alcançar esse caminho. A correção adiciona `http_server_remove_dot_segments()`, que canonicaliza a parte do caminho da URL antes da busca de recursos em ambos os manipuladores de protocolo, neutralizando o traversal. Afeta as versões v4.0.0 até v4.4.0 para implantações que registram um recurso de sistema de arquivos estático.
Fontes
1PoC para CVE-2026-8023: Limitação inadequada de um nome de caminho para um diretório restrito ('Path Traversal')
Uso responsável
Use informações de vulnerabilidade apenas em sistemas que você possui ou está autorizado a testar. O Kitploit vincula-se a metadados de pesquisa pública e não armazena código de exploração ou cargas maliciosas.