PT-2026-31666 · Basic-Ftp · Basic-Ftp
Zebbern
·
Publicado
2026-04-08
·
Atualizado
2026-06-03
·
CVE-2026-39983
CVSS v2.0
9.0
Alta
| Vetor | AV:N/AC:L/Au:N/C:P/I:C/A:P |
Nome do Software Vulnerável e Versões Afetadas: basic-ftp versões 5.2.0
Descrição: basic-ftp é um cliente FTP para Node.js. Versões anteriores à 5.2.1 são suscetíveis à injeção de comandos FTP devido ao tratamento inadequado de sequências CRLF (r
) dentro de parâmetros de caminho de arquivo usados em APIs de caminho de alto nível como
cd(), remove(), rename(), uploadFrom(), downloadTo(), list() e removeDir(). A função protectWhitespace() não higieniza adequadamente os caminhos, e a função FtpContext.send() anexa diretamente r
aos comandos, permitindo que caminhos controlados pelo atacante dividam comandos FTP pretendidos. Isso pode levar à exclusão arbitrária de arquivos, manipulação de diretórios, exfiltração de arquivos, potencial execução de comandos do servidor, sequestro de sessão e interrupção do serviço. A vulnerabilidade decorre da interação entre a higienização de caminho insuficiente em protectWhitespace() e a gravação direta no socket em send(). Os métodos afetados incluem cd(), remove(), list(), downloadTo(), uploadFrom(), rename() e removeDir(). Um atacante que controla os parâmetros do caminho do arquivo pode injetar comandos de protocolo FTP arbitrários.Recomendações: Higienize todos os inputs de caminho antes de passá-los para basic-ftp. Rejeite ou remova os caracteres r e
de todos os inputs de caminho na função
protectWhitespace().Exploit
Correção
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Basic-Ftp