PT-2026-146065

CVE-2026-126345

·

Publicado

2026-11-12

·

Atualizado

2026-11-12

Descrição por

CVSS 3.1
5.3
Média
Mé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
Identificadores relacionados
GHSA-5PM8-86M8-9M6R
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾