PT-2026-29811 · Ferret · Ferret

Davidcarliez

·

Publicado

2026-04-01

·

Atualizado

2026-04-06

·

CVE-2026-34783

CVSS v3.1

8.1

Alta

VetorAV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H
Nome do Software Vulnerável e Versões Afetadas: Ferret versões anteriores a 2.0.0-alpha.4
Descrição: Ferret é um sistema declarativo para trabalhar com dados da web. Uma vulnerabilidade de travessia de caminho existe na função de biblioteca padrão IO::FS::WRITE, permitindo que um site malicioso grave arquivos arbitrários no sistema de arquivos da máquina que executa o Ferret. Isso ocorre quando um operador extrai dados de um site que retorna nomes de arquivos contendo sequências '../' e usa esses nomes de arquivos para construir caminhos de saída. Um invasor pode controlar tanto o caminho de destino quanto o conteúdo do arquivo, levando potencialmente à execução remota de código via cron jobs, chaves autorizadas SSH, perfis de shell ou web shells. A vulnerabilidade se deve à falta de sanitização de caminho na função IO::FS::WRITE, que passa diretamente caminhos de arquivo fornecidos pelo usuário para os.OpenFile sem canonização, imposição de diretório base ou rejeição de sequências de travessia. O endpoint da API usado no ataque é 'http://evil.com/api/articles', que retorna um payload JSON contendo nomes de arquivos com sequências de travessia de caminho. O parâmetro vulnerável é o campo 'name' dentro dos dados JSON, que é usado para construir o caminho de saída. A função IO::FS::WRITE está diretamente envolvida na vulnerabilidade. O invasor pode segmentar caminhos como '/etc/cron.d/' para execução de comandos, '~/.ssh/authorized keys' para acesso SSH e arquivos de configuração de aplicativos para roubo de credenciais.
Recomendações: Atualize para a versão 2.0.0-alpha.4 ou posterior do Ferret. Como medida temporária, rejeite a travessia de caminho em IO::FS::WRITE e IO::FS::READ resolvendo o caminho e verificando se ele não contém '..' após a limpeza. Alternativamente, implemente a imposição de diretório base para restringir as operações de FS a um diretório específico.

Exploit

Correção

Path traversal

Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾

Enumeração de Fraquezas

Identificadores relacionados

CVE-2026-34783
GHSA-J6V5-G24H-VG4J

Produtos afetados

Ferret