Plateforme
nodejs
Composant
semver-regex
Corrigé dans
3.1.3
4.0.1
3.1.3
La vulnérabilité CVE-2021-3795 affecte le package Node.js semver-regex, une bibliothèque utilisée pour valider les numéros de version sémantique. Cette vulnérabilité de type déni de service (DoS) est due à une complexité excessive de l'expression régulière utilisée. L'exploitation réussie peut entraîner une consommation excessive de ressources du serveur, rendant le service indisponible. La version affectée est toute version antérieure à 3.1.3, et une correction a été publiée.
Un attaquant peut exploiter cette vulnérabilité en fournissant une chaîne de version sémantique malformée à la fonction de validation de semver-regex. L'expression régulière, conçue pour analyser les numéros de version, devient excessivement complexe avec cette entrée malveillante. Cette complexité conduit à une consommation exponentielle de ressources CPU et mémoire, ce qui peut entraîner un plantage du processus Node.js ou une dégradation significative des performances du serveur. Le risque est particulièrement élevé dans les environnements où semver-regex est utilisé pour valider les dépendances des packages ou pour contrôler l'accès en fonction des versions logicielles. L'impact peut se traduire par une indisponibilité du service, une perte de données potentielle si le serveur plante de manière inattendue, et une perturbation des opérations.
Cette vulnérabilité a été rendue publique le 20 septembre 2021. Bien qu'il n'y ait pas de preuves d'exploitation active à grande échelle, la nature de la vulnérabilité DoS la rend potentiellement exploitable. La complexité de l'expression régulière rend l'exploitation relativement simple, ce qui augmente le risque d'attaques automatisées. Il n'est pas listé sur le KEV de CISA à ce jour, et aucune preuve de PoC publique n'a été largement diffusée.
Applications and services built on Node.js that utilize the semver-regex package for version validation or processing are at risk. This includes projects that handle user-provided version information, interact with package managers, or rely on external systems that provide version strings. Specifically, projects using older versions of npm or yarn that automatically install vulnerable dependencies are particularly susceptible.
• nodejs / server:
npm list semver-regexIf the output shows a version prior to 3.1.3, the system is vulnerable. • nodejs / server:
npm audit semver-regexThis command will identify vulnerable packages in your project.
• nodejs / supply-chain: Examine package.json files for dependencies on semver-regex and check their versions.
disclosure
Statut de l'Exploit
EPSS
0.23% (percentile 45%)
Vecteur CVSS
La mitigation principale consiste à mettre à jour le package semver-regex vers la version 3.1.3 ou supérieure, qui corrige la vulnérabilité. Si la mise à jour n'est pas immédiatement possible, des mesures d'atténuation temporaires peuvent être mises en œuvre. Il est possible de limiter la taille des chaînes de version soumises à la validation, bien que cela puisse affecter la fonctionnalité. L'utilisation d'un pare-feu applicatif web (WAF) peut aider à bloquer les requêtes contenant des chaînes de version malformées. Surveillez attentivement l'utilisation des ressources CPU et mémoire du serveur pour détecter les signes d'une attaque DoS. Après la mise à jour, vérifiez que la validation des versions sémantiques fonctionne correctement et qu'il n'y a pas de régressions.
Mettez à jour la dépendance semver-regex à la version 4.0.1 ou supérieure. Si vous utilisez une version 3.x, mettez à jour à la version 3.1.3 ou supérieure. Cela corrige la vulnérabilité de complexité inefficace de l'expression régulière.
Analyses de vulnérabilités et alertes critiques directement dans votre boîte mail.
CVE-2021-3795 is a Denial of Service vulnerability in the semver-regex Node.js package, allowing attackers to cause excessive CPU usage with crafted version strings.
You are affected if your project uses semver-regex versions prior to 3.1.3. Check your package.json file and run npm audit semver-regex to confirm.
Upgrade the semver-regex package to version 3.1.3 or higher using npm install [email protected] or your preferred package manager.
While no confirmed active exploitation campaigns are publicly known, the ease of exploitation makes it a potential target.
Refer to the npm advisory for CVE-2021-3795: https://www.npmjs.com/advisories/1811
Téléverse ton fichier de dépendances et découvre instantanément si cette CVE et d'autres te touchent.