Critical vm2 Node.js Flaw Allows Sandbox Escape and Arbitrary Code Execution
Mis à jour :
Grave vulnérabilité dans vm2 : Évasion du bac à sable et exécution de code arbitraire
Une faille critique dans la bibliothèque Node.js vm2 permet aux attaquants de s’échapper de l’environnement sécurisé (bac à sable) et d’exécuter du code arbitraire sur le système d’exploitation sous-jacent.
Points Clés:
- La vulnérabilité est causée par un assainissement insuffisant des gestionnaires de Promise dans la bibliothèque vm2.
- Les fonctions asynchrones JavaScript renvoient des objets
globalPromiseplutôt que deslocalPromise. Les méthodesthenetcatchdeglobalPromisen’étant pas correctement assainies, cela crée une voie d’évasion du bac à sable. - Bien que ce ne soit pas la première vulnérabilité de ce type affectant vm2, elle est qualifiée de critique avec un score CVSS de 9.8/10.
- Le projet vm2 a été précédemment annoncé comme étant discontinué, mais les versions 3.x sont activement maintenues. Cependant, de nouvelles contournements sont anticipés.
Vulnérabilité:
- CVE-2026-22709: Permet l’évasion du bac à sable et l’exécution de code arbitraire par le biais d’une mauvaise gestion des
Promise.prototype.thenetPromise.prototype.catch.
Recommandations:
- Mettre à jour vers la dernière version : La version 3.10.3 de vm2 corrige cette vulnérabilité, ainsi que d’autres failles d’évasion de bac à sable.
- Envisager des alternatives plus robustes : Pour des garanties d’isolation plus solides, des bibliothèques comme
isolated-vmsont recommandées. - Maintenir une isolation stricte : Il est conseillé d’utiliser des solutions comme Docker pour une séparation logique des composants, même avec des outils d’isolation.
