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

VetorAV: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

BDU:2026-05098
CVE-2026-39983
GHSA-CHQC-8P9Q-PQ6Q

Produtos afetados

Basic-Ftp