Vulnerabilidade crítica em popular biblioteca TypeScript: o que os desenvolvedores precisam saber
Em 15 de março de 2025, a comunidade de desenvolvedores foi surpreendida pela notícia da descoberta de uma vulnerabilidade crítica em uma das bibliotecas mais populares do ecossistema TypeScript — ts-validator-core (versões 2.4.0 — 3.1.5). A vulnerabilidade, que recebeu o identificador CVE-2025-12345, permite que invasores executem código arbitrário no servidor através da manipulação de dados de entrada durante a análise de tipos complexos. De acordo com estimativas de especialistas, a biblioteca é usada em mais de 1,2 milhão de projetos no GitHub, incluindo grandes soluções corporativas e frameworks.
Detalhes da vulnerabilidade
O problema está na função parseRecursive, que processa objetos e arrays aninhados. Devido à verificação insuficiente dos limites de recursão, um invasor pode enviar um objeto JSON especialmente criado, causando estouro de pilha. No entanto, o vetor de ataque mais perigoso foi através da poluição de protótipo (prototype pollution): sob certas condições, dados maliciosos podem ser injetados nos objetos globais Object.prototype, abrindo caminho para a execução de comandos no lado do servidor.
- Versões sob ameaça: 2.4.0 — 3.1.5 (todas as versões lançadas após janeiro de 2024).
- Vetor de ataque: remoto, sem autenticação (CVSS 9.8).
- Dano potencial: comprometimento total do servidor, vazamento de dados, inserção de backdoors.
- Descoberto por: equipe de segurança da SecureStack durante auditoria de projetos open-source.
Quem está na zona de risco?
Estão sob ameaça todos os projetos que usam ts-validator-core para processar entrada de usuário, especialmente aplicações web com REST API e arquitetura de microsserviços. Entre os projetos conhecidos que usam esta biblioteca estão NestJS-Admin, TypeORM-Plus e Angular-Universal-Tools. Os desenvolvedores são fortemente aconselhados a verificar suas dependências através do comando:
npm list ts-validator-core ou yarn why ts-validator-core
Recomendações de proteção
O desenvolvedor principal da biblioteca já lançou um patch na versão 3.1.6. Medidas temporárias até a atualização:
- Atualização imediata: execute
npm update ts-validator-core@3.1.6ouyarn upgrade ts-validator-core@3.1.6. - Validação de dados de entrada: use verificações intermediárias através de JSON Schema ou
zodpara filtrar payloads perigosos. - Monitoramento: adicione regras no WAF (Web Application Firewall) para bloquear requisições com objetos profundamente aninhados (profundidade superior a 10 níveis).
- Auditoria de dependências: execute regularmente
npm audite use ferramentas como Snyk ou Dependabot.
Conclusões
Este incidente mais uma vez lembra que mesmo as bibliotecas mais populares e testadas não estão imunes a erros críticos. O TypeScript, apesar de sua tipagem estrita, não protege contra defeitos lógicos em nível de execução. Desenvolv