Vulnerabilidade crítica em biblioteca JavaScript (Node.js) popular: ameaça de execução remota de código
A comunidade de desenvolvedores Node.js foi abalada pela notícia da descoberta de uma vulnerabilidade crítica que afeta uma das bibliotecas mais amplamente utilizadas do ecossistema. O problema, que recebeu o identificador CVE-2024-XXXX (número em confirmação), permite que um invasor execute remotamente código arbitrário (RCE) em um servidor rodando Node.js. Segundo especialistas em cibersegurança, a vulnerabilidade afeta milhões de projetos em todo o mundo.
Essência do problema
A vulnerabilidade foi descoberta na biblioteca «fast-xml-parser» (versões anteriores a 4.3.4), que é usada para análise de documentos XML e HTML. A biblioteca está entre os 1000 pacotes mais populares do gerenciador npm e tem mais de 15 milhões de downloads por semana. O problema reside no tratamento incorreto de entidades externas XML (XXE — XML External Entity).
Ao processar um documento XML especialmente criado, a biblioteca não verifica os recursos externos incluídos, permitindo que o invasor:
- Leia arquivos arbitrários no servidor (por exemplo, senhas, chaves de acesso, configurações);
- Execute comandos arbitrários via SSRF (Server-Side Request Forgery);
- Causar negação de serviço (DoS) através de referências recursivas infinitas.
Particularmente perigoso é o fato de que a exploração da vulnerabilidade não requer autenticação — basta que o servidor processe um documento XML malicioso enviado através de uma requisição HTTP, upload de arquivo ou WebSocket.
Quais versões estão ameaçadas?
Pesquisadores de segurança confirmaram que todas as versões da biblioteca fast-xml-parser anteriores à 4.3.4 são vulneráveis. Também estão ameaçados projetos que usam versões desatualizadas de pacotes que dependem desta biblioteca de forma transitiva (através de outras dependências).
A situação é especialmente crítica para:
- Servidores web que processam requisições XML-RPC;
- Sistemas de integração com serviços SOAP;
- Aplicações que usam OpenAPI/Swagger com esquemas XML;
- Serviços que trabalham com arquivos de configuração em formato XML.
Recomendações de proteção
Os desenvolvedores da biblioteca já lançaram um patch na versão 4.3.4. Recomendamos fortemente que todos os usuários do Node.js executem imediatamente as seguintes ações:
- Atualizar a biblioteca — execute o comando
npm update fast-xml-parserou altere manualmente a versão no package.json para"^4.3.4"; - Verificar dependências transitivas — use
npm auditpara identificar dependências aninhadas desatualizadas; - Desabilitar entidades externas — se a atualização não for possível, desabilite explicitamente o processamento de DOCTYPE e entidades externas através das opções do parser;
- Implementar WAF — configure um Web Application Firewall para bloquear requisições XML suspeitas.
Especialistas observam que este não é o primeiro caso de vulnerabilidade crítica em bibliotecas de análise de dados. Anteriormente, problemas semelhantes foram encontrados em bibliotecas para análise de YAML (js-yaml) e CSV (papaparse). Os desenvolvedores devem prestar mais atenção à