PT-2026-29811 · Ferret · Ferret
Davidcarliez
·
Publicado
2026-04-01
·
Atualizado
2026-04-06
·
CVE-2026-34783
CVSS v3.1
8.1
Alta
| Vetor | AV: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 👾
Identificadores relacionados
Produtos afetados
Ferret