كشف خبراء الأمن السيبراني عن ثغرة أمنية حرجة للغاية في مكتبة vm2 الشهيرة المستخدمة في بيئة Node.js، والتي تسمح للمهاجمين بتجاوز قيود وضع الحماية (Sandbox Escape) وتنفيذ أكواد برمجية عشوائية على النظام المضيف، مما يضع آلاف التطبيقات في دائرة الخطر.
ما هي خطورة ثغرة CVE-2026-22709؟
تم تصنيف الثغرة الجديدة تحت الرمز CVE-2026-22709، وحصلت على تقييم خطورة حرج يبلغ 9.8 من 10 وفقاً لمقياس CVSS، مما يعني سهولة استغلالها وتأثيرها المدمر. تكمن المشكلة في الإصدار 3.10.0 من المكتبة، حيث يمكن تجاوز عمليات التنقية والتعقيم الخاصة بمعالجات الوعود البرمجية (Promise callbacks).
تُستخدم مكتبة vm2 بشكل واسع لتشغيل الأكواد غير الموثوقة داخل بيئة معزولة وآمنة، وذلك عن طريق اعتراض كائنات JavaScript ومنع الكود المعزول من الوصول إلى بيئة الاستضافة الأساسية.
كيف يعمل هذا الهجوم التقني؟
وفقاً للتحليلات التقنية، ينشأ الخلل من المعالجة غير السليمة لكائنات الوعود (Promises). النقطة الحرجة هنا هي أن الدوال غير المتزامنة (async functions) في جافا سكريبت تُرجع كائنات `globalPromise` وليست `localPromise`. ونظراً لأن النماذج الأولية للأولى لا تخضع للتنقية الصحيحة، فإنها تخلق ثغرة تتيح للمهاجمين الهروب من الصندوق الرملي.
هل مكتبة vm2 آمنة للاستخدام في 2026؟
على الرغم من شعبيتها، عانت مكتبة vm2 من سلسلة مستمرة من ثغرات الهروب من البيئة المعزولة في السنوات الأخيرة. ويرى خبراء الأمن في تيكبامين أن هذا النمط المتكرر من الثغرات يستدعي الحذر الشديد عند الاعتماد على هذه المكتبة في البيئات الإنتاجية الحساسة.
تضمنت القائمة السابقة للثغرات المكتشفة ما يلي:
- CVE-2022-36067
- CVE-2023-29017
- CVE-2023-30547
- CVE-2023-32314
في وقت سابق، أشار القائمون على المشروع إلى احتمالية إيقافه، إلا أن صفحة الأمان تم تحديثها مؤخراً لتشير إلى استمرار صيانة إصدارات 3.x بشكل نشط، مع تحذير المستخدمين من احتمالية اكتشاف تجاوزات جديدة في المستقبل.
كيف تحمي أنظمتك من هذا التهديد؟
نظراً لخطورة الثغرة، يجب على المطورين ومديري الأنظمة اتخاذ إجراءات فورية لحماية تطبيقاتهم وبياناتهم. فيما يلي الخطوات الموصى بها:
- التحديث الفوري: يجب الترقية إلى الإصدار 3.10.3 أو أحدث فوراً، حيث يحتوي على تصحيحات أمنية تسد ثغرة الهروب المكتشفة.
- استخدام بدائل قوية: يوصي الخبراء بالنظر في بدائل أكثر قوة مثل مكتبة
isolated-vm، التي تعتمد على واجهة Isolate الأصلية في محرك V8 وتوفر عزلاً أفضل. - تعزيز العزل: استخدام حاويات Docker للفصل المنطقي بين المكونات لتقليل الضرر في حال نجح الهجوم.
إن الاعتماد على العزل البرمجي فقط قد لا يكون كافياً أمام التهديدات المتطورة، لذا يُنصح دائماً بتطبيق طبقات متعددة من الحماية الأمنية.