تُعد مكتبة isolated-vm واحدة من أشهر الأدوات مفتوحة المصدر في بيئة Node.js، حيث تتيح تشغيل شيفرات JavaScript غير موثوقة داخل بيئة معزولة V8 Isolate. هذه التقنية تسمح بإنشاء بيئات متعددة تعمل بشكل متزامن دون مشاركة البيانات أو التأثير على بعضها البعض، وهو ما يجعلها خيارًا شائعًا لدى المطورين، إذ تجاوزت تحميلاتها الأسبوعية حاجز المليون.
تفاصيل الثغرة الأمنية
كشف باحثو الأمن السيبراني في Endor Labs عن ثغرة خطيرة في المكتبة تحمل الرمز GHSA-864f-rcv7-6rh4، ولم يُمنح لها بعد معرف CVE رسمي. الثغرة تؤثر على جميع الإصدارات حتى 7.0.0، وتم إصلاحها في الإصدارات 6.2.0 و7.0.1. المشكلة تكمن في مكون ExternalCopy المسؤول عن نقل الكائنات بين المضيف والعزلة، حيث يؤدي خطأ في التعامل مع خيار transferList إلى Type Confusion يسمح للشيفرة داخل الصندوق المعزول بتجاوز الحدود والتلاعب بذاكرة المضيف.
خطورة الاستغلال
وفقًا للباحث Cristian-Alexandru Staicu، فإن الاستغلال يبدأ من مجرد مرجع واحد ivm.Reference، وهو الطريقة القياسية لمنح الصندوق أي صلاحية، ثم يتطور إلى تحكم كامل في تدفق المضيف. النتائج المحتملة تشمل:
- انهيار المضيف عبر خطأ ذاكرة (SIGSEGV).
- تجاوز حدود العزل بين الضيف والمضيف.
- تنفيذ أوامر عن بُعد (RCE) في المضيف، وهو السيناريو الأخطر الذي يقوض الهدف الأساسي من استخدام المكتبة.
الموقف الرسمي والتوصيات
أوضح المشرف على المشروع Marcel Laverdet أن التأثير الأدنى المؤكد هو هجوم DoS يمكن لأي ضيف تنفيذه، بينما التأثير الأقصى هو السيطرة الكاملة على المضيف. وأكد أن المشكلة ليست في حدود العزل التي يوفرها محرك V8، بل في طبقة الربط C++ glue code التي تنقل القيم بين البيئات. ينصح المستخدمون بتحديث المكتبة فورًا إلى الإصدارات الأخيرة، حيث تم حجب تفاصيل الاستغلال الكاملة لتجنب استخدامها من قبل جهات خبيثة.































