CVE-2026-92956 in vm2
الملخص
بحسب VulDB • 17/09/2026
تحتوي إصدارات vm2 من 3.10.1 إلى 3.11.6 على ثغرة هروب من الصندوق الرمزي (sandbox escape) يمكن الوصول إليها من صندوق `new VM()` الافتراضي عند التشغيل على Node.js 26. يمكن لـ WebAssembly.compileStreaming وWebAssembly.instantiateStreaming إنتاج وعد (Promise) خام ينتمي لمجال المضيف (host-realm) ويرفض بكيان خطأ ينتمي لمجال المضيف؛ ومن خلال التحكم في Symbol.species عبر Promise.prototype.finally، يتلقى الكود الموجود داخل الصندوق ذلك الخطأ الخام الخاص بالمضيف، ثم ينتقل من مُنشئ الخطأ الخاص بالمضيف إلى مُنشئ الدالة Function الخاص بالمضيف، ويستعيد كائن `process` الحقيقي للمضيف، مما يمنحه قدرات Node.js الخاصة بالمضيف (مثل الوصول إلى وحدات النظام مثل fs) في سياق العملية التي تشغل الصندوق الرمزي. لا يلزم وجود أي إعداد غير آمن أو حقن لكائن المضيف أو إذن require أو استخدام NodeVM لتحقيق ذلك. تُعد هذه الثغرة اختراقاً للإصلاح الخاص بـ GHSA-6j2x-vhqr-qr7q، الذي أزال نقاط الدخول الخاصة بـ JSPI وهي WebAssembly.promising وWebAssembly.Suspending. تم إصلاح المشكلة في الإصدار 3.11.7.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.