PT-2026-146065
CVE-2026-126345
·
Publicado
2026-11-12
·
Atualizado
2026-11-12
Descrição por
CVSS 3.1
5.3
MédiaMétricasAV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
Nome do Software Vulnerável e Versões Afetadas
basic-ftp versões anteriores a 6.2.4
Description
O analisador de listagem de diretórios MLSD em
src/parseListMLSD.ts utiliza nomes de fatos não confiáveis de um servidor FTP como chaves no dicionário factHandlersByName sem verificar se a propriedade resolvida é um manipulador próprio. Um servidor FTP malicioso ou comprometido, ou um invasor no caminho em uma sessão de texto simples, pode fornecer um fato chamado proto. Isso resolve para Object.prototype, ignorando a proteção de manipulador ausente e fazendo com que a aplicação tente chamá-lo como uma função, o que resulta em um TypeError.Como este
TypeError não é um FTPError, ele não é capturado pela lógica de repetição em Client.list() e se propaga como uma promessa rejeitada. Isso afeta os seguintes endpoints de API e métodos:Client.list()Client.downloadToDir()Client.uploadFromDir()Client.clearWorkingDir()Client.removeDir()
No Node.js 15 e versões posteriores, se a aplicação não tratar essa rejeição com um bloco try/catch, o processo do Node.js será encerrado, levando a uma Negação de Serviço.
Recommendations
Atualize o basic-ftp para a versão 6.2.4.
Como mitigação temporária, envolva as chamadas para
Client.list(), Client.downloadToDir(), Client.uploadFromDir(), Client.clearWorkingDir() e Client.removeDir() em blocos try/catch para evitar que o processo do Node.js trave.Explorabilidade
Correção
Impactos
Fornecedores
Produtos afetados
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾