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

الملخص

بحسب VulDB • 17/09/2026

تُظهر الإصدارات السابقة من vm2 حتى 3.11.7 (الإصدارات المتأثرة <= 3.11.6) عدم فرض خيار VM({ timeout }) على الكود الذي يتم تنفيذه خارج الاستدعاء التزامني لـ VM#run(). يقتصر الـ timeout على تغليف الاستدعاء الفردي لـ _runScript() عبر doWithTimeout() في lib/vm.js، كما أن FinalizationRegistry و WeakRef مكشوفان للكود المحصور (sandboxed) دون تعديل (وهما غير مدرجين ضمن المتغيرات العالمية المُصلَّحة في lib/setup-sandbox.js). يمكن للكود المحصور تسجيل دالة تنظيف لـ FinalizationRegistry ضد كائن معين ثم إسقاط الإشارة القوية الوحيدة إليه؛ وعندها يعود vm.run() خلال الـ timeout المحدد، ولكن عندما يقوم جامع القمامة (garbage collector) الخاص بـ V8 بإعادة الكائن لاحقاً، فإنه يستدعي دالة التنظيف المحصورة خارج أي حساب لوقت تنفيذ vm2. يؤدي حلقة عمل مشغلة (busy loop) داخل تلك الدالة إلى حلق دورة الأحداث للمضيف لفترة غير محدودة، مما ينتج عنه حالة من إنكار الخدمة (Denial of Service). يعتمد وقت الاستدعاء على جامع القمامة (على سبيل المثال تحت ضغط الذاكرة أو باستخدام --expose-gc).

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

مسؤول

VulnCheck

حجز

17/09/2026

إفشاء

17/09/2026

الاعتدال

تمت الموافقة

إدخال

VDB-406429

EPSS

0.00000

KEV

لا

النشاطات

منخفض جدًا

المصادر

Do you know our Splunk app?

Download it now for free!