Plateforme
nodejs
Composant
node-forge
Corrigé dans
1.4.1
1.4.0
La CVE-2026-33891 est une vulnérabilité de type Denial of Service (DoS) affectant la bibliothèque node-forge. Elle est due à une boucle infinie dans la fonction BigInteger.modInverse(), qui se produit lorsqu'elle est appelée avec une valeur zéro, entraînant une consommation excessive de CPU. Toutes les versions de node-forge antérieures à la version 1.4.0 sont concernées. La vulnérabilité est corrigée dans la version 1.4.0.
Cette vulnérabilité de type déni de service (DoS) dans la bibliothèque node-forge peut être déclenchée par un attaquant capable d'appeler la fonction BigInteger.modInverse() avec une valeur zéro. L'appel avec une entrée nulle provoque une boucle infinie dans l'algorithme d'Euclide étendu interne, hérité de la bibliothèque jsbn intégrée. Cette boucle infinie conduit à un blocage du processus, consommant 100% du CPU et rendant le service indisponible. Le risque principal est donc une interruption de service, potentiellement impactant les applications qui dépendent de node-forge pour des opérations cryptographiques. Bien que la vulnérabilité ne permette pas l'accès direct aux données ou le contrôle du système, la dégradation de service peut avoir des conséquences significatives, notamment la perte de disponibilité des applications, l'interruption des transactions et la perte de confiance des utilisateurs. Le rayon d'impact est limité aux applications utilisant la version vulnérable de node-forge, mais peut être étendu si ces applications sont largement déployées ou critiques pour l'activité de l'organisation. Une attaque réussie peut facilement paralyser un serveur ou un ensemble de serveurs, nécessitant une intervention manuelle pour le redémarrage et la restauration du service.
À l'heure actuelle, il n'y a pas de rapports d'exploitation publique connus pour cette vulnérabilité (CVE-2026-33891). Aucune preuve de code d'exploitation (POC) n'a été divulguée. Cependant, la nature de la vulnérabilité (DoS) et sa facilité d'exploitation potentielle (un simple appel de fonction avec une valeur spécifique) suggèrent qu'elle pourrait être exploitée dans le futur. Bien qu'il n'y ait pas d'urgence immédiate, il est fortement recommandé de corriger cette vulnérabilité dès que possible pour réduire le risque d'une attaque DoS. Le manque de rapports d'exploitation ne doit pas être interprété comme une absence de risque.
Applications built on Node.js that utilize the node-forge library for cryptographic operations are at risk. This includes web applications, APIs, and command-line tools. Specifically, projects that haven't been updated recently or those relying on older dependencies are particularly vulnerable.
• nodejs / server:
npm list node-forge # Check installed version• nodejs / server:
ps aux | grep forge # Check for processes using node-forge• nodejs / server:
journalctl -u node -f # Monitor Node.js logs for errors related to BigInteger or modInversedisclosure
Statut de l'Exploit
EPSS
0.05% (percentile 16%)
CISA SSVC
Vecteur CVSS
La solution recommandée est de mettre à niveau la bibliothèque node-forge vers la version 1.4.0 ou supérieure. Cette version inclut une correction pour empêcher la boucle infinie dans la fonction bnModInverse(). Si la mise à niveau n'est pas immédiatement possible, une solution de contournement temporaire consiste à éviter d'appeler la fonction modInverse() avec une valeur zéro. Il est crucial de valider les entrées avant de les passer à cette fonction pour s'assurer qu'elles ne sont pas nulles. Après la mise à niveau ou l'implémentation d'une solution de contournement, il est important de vérifier que la vulnérabilité a bien été corrigée en effectuant des tests de régression. Ces tests doivent inclure des scénarios simulant des appels à modInverse() avec des valeurs zéro pour confirmer que la boucle infinie n'est plus présente. Il est également conseillé de surveiller les performances du système après la correction pour détecter d'éventuels effets secondaires inattendus.
Actualice la biblioteca node-forge a la versión 1.4.0 o superior. Esta versión corrige la vulnerabilidad de denegación de servicio causada por un bucle infinito en la función BigInteger.modInverse() al recibir un valor cero como entrada. La actualización evitará que el proceso se cuelgue y consuma el 100% de la CPU.
Analyses de vulnérabilités et alertes critiques directement dans votre boîte mail.
CVE-2026-33891 is a denial-of-service vulnerability in the node-forge library where a crafted input to BigInteger.modInverse() causes an infinite loop, leading to 100% CPU usage.
Yes, all versions of node-forge prior to 1.4.0 are affected by this vulnerability. If you are using node-forge, you should upgrade immediately.
Upgrade to version 1.4.0 of the node-forge library using npm: npm install [email protected]. If upgrading is not possible, implement input validation to prevent zero values from being passed to BigInteger.modInverse().
While no active exploitation has been confirmed, the vulnerability is relatively easy to trigger, increasing the likelihood of exploitation.
Refer to the node-forge GitHub repository for updates and advisories: https://github.com/digitalbazaar/forge
Téléverse ton fichier de dépendances et découvre instantanément si cette CVE et d'autres te touchent.