أعلن باحثون في الأمن السيبراني عن اكتشاف ثغرة بالغة الخطورة في مكتبة vm2 الخاصة بـ Node.js، والتي تُستخدم لتشغيل الأكواد غير الموثوقة داخل بيئة معزولة. الثغرة، المسجلة تحت الرمز CVE-2026-22709، تحمل درجة خطورة 9.8/10 وفق مقياس CVSS، وتتيح للمهاجمين تنفيذ تعليمات برمجية على نظام التشغيل المضيف في حال استغلالها بنجاح.
تفاصيل الثغرة وآلية الاستغلال
المشكلة تكمن في ضعف آلية تنقية callbacks الخاصة بـ Promise.prototype.then وPromise.prototype.catch، حيث يمكن تجاوزها في الإصدار 3.10.0 من المكتبة. هذا الخلل يسمح للهجوم بالهروب من بيئة العزل وتشغيل تعليمات خارج حدود الـ sandbox.
الباحثون في Endor Labs أوضحوا أن السبب يعود إلى أن الدوال غير المتزامنة في جافاسكريبت تعيد كائنات globalPromise بدلاً من localPromise، ما يجعل المعالجات غير محمية بشكل كافٍ.
سجل طويل من الثغرات السابقة
هذه الثغرة ليست الأولى في سلسلة مشاكل أمنية واجهتها المكتبة، إذ سبق أن تم رصد ثغرات مشابهة مثل:
- CVE-2022-36067
- CVE-2023-29017
- CVE-2023-29199
- CVE-2023-30547
- CVE-2023-32314
- CVE-2023-37466
- CVE-2023-37903
في يوليو 2023، أدى اكتشاف إحدى هذه الثغرات إلى إعلان المطور باتريك سيميك عن إيقاف المشروع، لكن لاحقاً تم تعديل الوثائق الرسمية على GitHub لتؤكد أن إصدارات vm2 3.x ما زالت تحت الصيانة النشطة حتى أكتوبر 2025.
بدائل وحلول مقترحة
رغم إصدار تحديث 3.10.2 لمعالجة الثغرة، ثم نسخة أحدث 3.10.3 لإصلاح ثغرات إضافية، إلا أن المطورين يحذرون من احتمالية ظهور تجاوزات جديدة مستقبلاً. لذلك يُوصى المستخدمون بالانتقال إلى بدائل أكثر قوة مثل isolated-vm، الذي يعتمد على واجهة V8 Isolate الأصلية لتوفير عزلة أفضل.
كما يشدد الخبراء على أهمية استخدام تقنيات مثل Docker مع فصل منطقي بين المكونات لضمان مستويات أعلى من الأمان.
أهمية التحديث المستمر
الثغرة الأخيرة تؤكد أن الاعتماد على سياسات العزل وحدها لا يكفي، وأن التحديث المستمر للمكتبات مفتوحة المصدر أمر حتمي. فالمهاجمون يستغلون أي ثغرة في بيئات التطوير لتجاوز القيود الأمنية والوصول إلى النظام المضيف، ما يجعل إدارة الثغرات ومراقبة المكتبات أمراً أساسياً في استراتيجيات الأمن السيبراني الحديثة.






























