Vulnerabilidade crítica em biblioteca TypeScript: ameaça para milhões de projetos

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

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.6 ou yarn upgrade ts-validator-core@3.1.6.
  • Validação de dados de entrada: use verificações intermediárias através de JSON Schema ou zod para 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 audit e 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

Recommended Libraries