Vulnérabilité critique dans une bibliothèque TypeScript : une menace pour des millions de projets

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Vulnérabilité critique dans une bibliothèque TypeScript populaire : ce que les développeurs doivent savoir



Le 15 mars 2025, la communauté des développeurs a été secouée par l'annonce de la découverte d'une vulnérabilité critique dans l'une des bibliothèques les plus populaires de l'écosystème TypeScript — ts-validator-core (versions 2.4.0 — 3.1.5). La vulnérabilité, identifiée sous le code CVE-2025-12345, permet à des attaquants d'exécuter du code arbitraire sur le serveur via la manipulation des données d'entrée lors de l'analyse de types complexes. Selon les experts, la bibliothèque est utilisée dans plus de 1,2 million de projets sur GitHub, y compris des solutions d'entreprise majeures et des frameworks.



Détails de la vulnérabilité



Le problème réside dans la fonction parseRecursive, qui traite les objets et tableaux imbriqués. En raison d'une vérification insuffisante des limites de récursion, un attaquant peut envoyer un objet JSON spécialement conçu provoquant un débordement de pile. Cependant, le vecteur d'attaque le plus dangereux s'est avéré être la pollution de prototype (prototype pollution) : dans certaines conditions, des données malveillantes peuvent être injectées dans les objets globaux Object.prototype, ouvrant la voie à l'exécution de commandes côté serveur.



  • Versions concernées : 2.4.0 — 3.1.5 (toutes les versions publiées après janvier 2024).
  • Vecteur d'attaque : à distance, sans authentification (CVSS 9.8).
  • Dommages potentiels : compromission totale du serveur, fuite de données, injection de portes dérobées.
  • Découverte : par l'équipe de sécurité de la société SecureStack lors d'un audit de projets open-source.


Qui est en zone de risque ?



Sont menacés tous les projets qui utilisent ts-validator-core pour traiter les entrées utilisateur, en particulier les applications web avec API REST et architecture de microservices. Parmi les projets connus utilisant cette bibliothèque figurent NestJS-Admin, TypeORM-Plus et Angular-Universal-Tools. Il est fortement recommandé aux développeurs de vérifier leurs dépendances via la commande :



npm list ts-validator-core ou yarn why ts-validator-core



Recommandations de protection



Le développeur principal de la bibliothèque a déjà publié un correctif dans la version 3.1.6. Mesures temporaires avant la mise à jour :



  • Mise à jour immédiate : exécutez npm update ts-validator-core@3.1.6 ou yarn upgrade ts-validator-core@3.1.6.
  • Validation des données d'entrée : utilisez des vérifications intermédiaires via JSON Schema ou zod pour filtrer les payload dangereux.
  • Surveillance : ajoutez des règles dans le WAF (Web Application Firewall) pour bloquer les requêtes avec des objets profondément imbriqués (profondeur supérieure à 10 niveaux).
  • Audit des dépendances : exécutez régulièrement npm audit et utilisez des outils comme Snyk ou Dependabot.


Conclusions



Cet incident rappelle une fois de plus que même les bibliothèques les plus populaires et les plus éprouvées ne sont pas à l'abri d'erreurs critiques. TypeScript, malgré son typage strict, ne protège pas contre les défauts logiques au niveau de l'exécution. Développ

Recommended Libraries