PT-2026-94115 · Npm · Nodemailer
CVSS v4.0
8.3
Alta
| Vetor | AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
Nome do Software Vulnerável e Versões Afetadas
Nodemailer versões anteriores a 9.1.0
Descrição
O Nodemailer falha ao aplicar a normalização UTS-46 ao codificar nomes de domínio internacionais (IDN), resultando em uma discrepância entre a forma como o software e os analisadores compatíveis com os padrões (como navegadores web e o
url.domainToASCII do Node) computam os rótulos A-label do Punycode. O problema reside na função normalizeAddress() em lib/mime-node/index.js, que utiliza um codec Punycode RFC-3492 bruto que carece de mapeamento e normalização UTS-46. Isso permite que invasores usem caracteres invisíveis, como o U+00AD SOFT HYPHEN, ou mapeamentos de compatibilidade para burlar verificações de listas de permissão de domínio. Enquanto um validador pode identificar um domínio confiável, o Nodemailer entrega o e-mail para um domínio diferente, potencialmente controlado por um invasor, via SMTP. Isso ocorre porque o software não realiza etapas essenciais do UTS-46, incluindo a remoção de pontos de código ignorados, o mapeamento de caracteres de compatibilidade e a normalização Unicode NFC.Recomendações
Atualize o Nodemailer para a versão 9.1.0 ou posterior.
Como mitigação temporária, rejeite qualquer domínio cujo valor mude ao ser processado por um mapeador compatível com UTS-46, como quando
punycode.toASCII(d) não for igual a url.domainToASCII(d).Exploit
Correção
RCE
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Nodemailer