تم الكشف عن اثنتي عشرة ثغرة أمنية حرجة في مكتبة Node.js الشهيرة vm2، مما يفتح الباب أمام المهاجمين لاختراق بيئة العزل الآمنة وتنفيذ تعليمات برمجية تعسفية على الأنظمة المتأثرة. وتعد هذه الثغرات التي تم اكتشافها ضمن vm2 خطراً جسيماً يتطلب استجابة سريعة من المطورين والمستخدمين.
تُستخدم مكتبة vm2، وهي مكتبة مفتوحة المصدر، لتشغيل أكواد JavaScript غير الموثوق بها ضمن بيئة معزولة وآمنة. تعمل على اعتراض وتمرير كائنات JavaScript لمنع الكود المحصور في بيئة العزل من الوصول إلى البيئة المضيفة. ومع ذلك، فإن هذه الثغرات تهدد جوهر وظيفتها الأمنية.
مخاطر ثغرات vm2 الأمنية
تسمح هذه الثغرات، التي تم تصنيف العديد منها بدرجات خطورة عالية جداً، للمهاجمين بالتحايل على آليات العزل المدمجة. وتفاصيل هذه الثغرات تشمل نقاط ضعف تسمح بالهروب من بيئة العزل وتنفيذ أوامر على النظام المضيف.
على سبيل المثال، تشير بعض التقارير إلى ثغرة CVE-2026-43997، التي تحمل درجة خطورة 10.0، وتسمح للمهاجم بالوصول إلى كائن المضيف والهروب من بيئة العزل، مما يؤدي إلى تنفيذ تعليمات برمجية تعسفية. وبالمثل، تسمح ثغرة أخرى، CVE-2026-44005، بالتحكم في JavaScript من جانب المهاجم لتجاوز بيئة العزل وتنفيذ أخطاء في بنية الكائن.
وتشمل الثغرات الأخرى نقاط ضعف تسمح بتجاوز قوائم السماح المدمجة في NodeVM، مما يتيح للمهاجم تحميل مكونات مضمنة محظورة وتنفيذ أوامر عن بعد. كما أن هناك ثغرات أخرى مرتبطة بـ “SuppressedError” و”neutralizeArraySpeciesBatch()” و”null proto exception”، وجميعها تهدف إلى تمكين الهروب من بيئة العزل وتنفيذ تعليمات برمجية ضارة.
كيفية تأثير هذه الثغرات
تؤثر هذه الثغرات المتعددة على إصدارات مختلفة من مكتبة vm2، بما في ذلك الإصدارات الأقدم من 3.10.4، و3.10.3، و3.10.5، و3.11.0، و3.11.1. وقد تم إصدار تصحيحات لمعظم هذه المشكلات في إصدارات لاحقة مثل 3.11.0 و3.11.2.
تأتي هذه الاكتشافات بعد فترة وجيزة من قيام مطور مكتبة vm2، باتريك سيميك، بإصدار تصحيحات لثغرة هروب حرجة أخرى (CVE-2026-22709)، والتي كانت تحمل درجة خطورة 9.8 وتسمح بتنفيذ تعليمات برمجية تعسفية على النظام المضيف. وهذا يدل على التحدي المستمر في تأمين بيئات العزل.
توصيات للمطورين والمستخدمين
يؤكد اكتشاف هذه السلسلة من ثغرات vm2 على الصعوبة الكامنة في عزل الأكواد غير الموثوق بها بشكل آمن ضمن بيئات العزل القائمة على JavaScript. وقد أقر سيميك نفسه سابقاً بأنه من المتوقع اكتشاف طرق جديدة لتجاوز آليات الحماية مستقبلاً.
ولذلك، ينصح بشدة جميع مستخدمي مكتبة vm2 بتحديث برامجهم إلى أحدث إصدار متاح، وهو حالياً 3.11.2، لضمان حصولهم على أقصى درجات الحماية الممكنة ضد هذه التهديدات المتعلقة بـ vm2 وأمن البرمجيات.

