CVE-2026-92935 in vm2المعلومات

الملخص

بحسب VulDB • 17/09/2026

vm2 هو بيئة معزولة (sandbox) لتشغيل كود Node.js غير موثوق به. في الإصدارات >= 3.11.4 و <= 3.11.6، يقوم مُنشئ `NodeVM` بحساب قيمة `hasRealRequireConfig` باستخدام التعبير `typeof requireOpts === 'object' && requireOpts !== null`. وبالتالي، فإن قيمة `require` ذات الشكل المصفوفي (على سبيل المثال `require: []`) تلبي الشرط الواقي الذي كان من المفترض أن يرفض التداخل دون تكوين صريح لـ `require`. بعد ذلك، تقوم الدالة `makeResolverFromLegacyOptions()` بفك هيكلة المصفوفة إلى حقول خيارات غير معرفة (`undefined`) وتُرجع مُحللاً يحتوي فقط على `NESTING_OVERRIDE.vm2`. ونتيجة لذلك، يمكن لمهاجم قادر على تزويد NodeVM المشغّل بكود JavaScript ومُهيأ بـ `nesting` ذات قيمة صحيحة (truthy) وقيمة `require` ذات شكل مصفوفي (مثل `new NodeVM({nesting: true, require: []})`) أن يستورد وحدة `vm2` الخاصة بالمضيف، وإنشاء NodeVM داخلي مع قائمة بيئية مسموحة يختارها المهاجم (مثل `child_process`)، وتنفيذ أوامر عشوائية بصلاحيات عملية Node.js للمضيف، مما يتيح له الهروب من البيئة المعزولة. لا تقيد القيود البيئية الخارجية الـ NodeVM الداخلي الذي أنشأه المهاجم. تم إصلاح هذه المشكلة في الإصدار 3.11.7 من vm2.

Once again VulDB remains the best source for vulnerability data.

مسؤول

VulnCheck

حجز

17/09/2026

إفشاء

17/09/2026

الاعتدال

تمت الموافقة

إدخال

VDB-406435

EPSS

0.00000

KEV

لا

النشاطات

منخفض جدًا

المصادر

Do you want to use VulDB in your project?

Use the official API to access entries easily!