كشف باحث أمني عن ثغرة أمنية شديدة الخطورة في مكون KVM التابع لنواة نظام Linux، تتيح للأجهزة الافتراضية الضيفة اختراق عزل النظام والهروب إلى البيئة المضيفة عبر معالجات x86 من شركتي Intel وAMD. الثغرة المعروفة باسم “Januscape” والمقيدة بالرمز CVE-2026-53359، بقيت غير مكتشفة في الشيفرة المصدرية لمدة تقارب 16 عاماً، قبل رصدها واستغلالها بنجاح ضمن برنامج مكافآت الثغرات kvmCTF الخاص بشركة Google.
وتعود جذور هذه المشكلة إلى خلل من نوع “الاستخدام بعد التحرير” (use-after-free) في طبقة إدارة الذاكرة الظلية (shadow MMU) داخل KVM. ويحدث هذا الخلل عندما تقوم الدالة kvm_mmu_get_child_sp() بإعادة استخدام صفحات الظل بالاعتماد على عنوان الذاكرة فقط مع إغفال فحص “دور الصفحة” (role)، ما يتسبب في تضارب السجلات الداخلية وانهيار النظام المضيف. ولا يتطلب تنفيذ هذا الهجوم أي تفاعل أو تعاون من محاكي QEMU أو أي برمجيات أخرى في مساحة المستخدم، بل يمكن للجهة المهاجمة إطلاق الهجوم بالكامل من داخل الجهاز الضيف، شريطة امتلاك صلاحيات root وتفعيل ميزة التداخل الافتراضي.
وقد نجح الباحث الأمني Hyunwoo Kim في اكتشاف هذه الثغرة وتقديمها كتهديد من نوع “يوم صفر” (0-day) إلى منصة Google kvmCTF، حيث حقق هروباً كاملاً من النظام الضيف إلى المضيف. ويوضح نموذج الاستغلال الفعلي (PoC) المتاح حالياً أن الاستغلال يؤدي إلى انهيار كامل للنظام المضيف، مسبباً إسقاط جميع الخوادم الافتراضية الأخرى المستضافة على العتاد المادي نفسه. كما أكد الباحث وجود نموذج استغلال آخر غير معلن يتيح تشغيل برمجيات خبيثة بصلاحيات root على النظام المضيف مباشرة، مهدداً أمن وبيانات بقية المستأجرين على نفس الخادم.
ويكمن الخلل التقني بدقة في آلية إعادة الاستخدام الخاطئة لصفحات التتبع داخل الذاكرة الظلية؛ فحينما يطلب مكون KVM صفحة جديدة لتتبع عناوين الجهاز الضيف، فإنه يبحث عن صفحة معدة مسبقاً ويعيد تخصيصها في حال تطابق عنوان إطار الصفحة (gfn). ومع ذلك، فإن النظام يتجاهل التحقق من “الدور” الذي تحدده معايير تقنية مثل حجم الصفحة (سواء كانت 2 ميجابايت أو 4 كيلوبايت) وما إذا كانت الصفحة مباشرة. نتيجة لذلك، قد يقع خطأ يعيد استخدام صفحة مخصصة لتتبع صفحات بحجم 2 ميجابايت (direct=1) في تتبع صفحات بحجم 4 كيلوبايت (direct=0)، وهو ما يمنع حذف المدخلات من جداول التتبع العكسية (rmap) لاحقاً، ليترك مؤشراً تالفاً يشير إلى ذاكرة محررة يتسبب أول وصول إليها في انهيار المضيف فوراً.
ويتطلب نجاح هذا الهجوم توفر صلاحيات root داخل النظام الضيف، وهي صلاحيات شائعة ومنطقية للمستأجرين في بيئات الحوسبة السحابية العامة. كما يشترط الهجوم تفعيل ميزة التداخل الافتراضي في المضيف وتمريرها للضيف، لأن هذا التفعيل يجبر KVM على الاعتماد على مسار طبقة الذاكرة الظلية (shadow MMU) القديم الذي يحتوي على الثغرة، حتى لو كان النظام المضيف يطبق تقنيات الذاكرة الحديثة مثل EPT أو NPT. وتشير التقارير التقنية إلى أن خطر الثغرة يهدد معالجات Intel وAMD على حد سواء، رغم تباين التفاصيل الدقيقة اللازمة للوصول إلى مرحلة التنفيذ الكامل للشيفرات البرمجية على النظام المضيف.
وقد عالج Paolo Bonzini، أحد المطورين المشرفين على KVM، هذا الخلل عبر إضافة تدقيق برمجي بسيط بسطر واحد في الدالة kvm_mmu_get_child_sp()، يضمن التحقق من تطابق خصائص role.word بالتزامن مع gfn عند إعادة التخصيص. وتكامل هذا الإصلاح في النواة الرئيسية لنظام Linux بتاريخ 19 يونيو 2026، ثم أُطلقت الإصدارات المستقرة المصححة في 4 يوليو 2026. ورغم أن قاعدة بيانات الثغرات الوطنية (NVD) لم تصدر تقييماً رسمياً لدرجة خطورة الثغرة بعد، فإن خبراء الأمن ينصحون مسؤولي الأنظمة بتطبيق التحديثات دون تأخير.
وفي هذا السياق، أوصت شركات تقنية مثل VEXXHOST عبر استجابتها الأمنية الرسمية بضرورة مراجعة كافة خوادم x86 التي تتيح ميزة التداخل الافتراضي لمستأجرين خارجيين، والتحقق من دمج التصحيحات الأمنية سواء عبر ترقية النواة أو الاستعانة بالتحديثات الخلفية المقدمة من توزيعات Linux. وفي حال تعذر التحديث الفوري، يمكن الاعتماد على إجراء وقائي مؤقت يقضي بتعطيل ميزة التداخل الافتراضي عبر إعدادات النواة باستخدام الأوامر (kvm_intel.nested=0 أو kvm_amd.nested=0)، ما يغلق مسار الاستغلال تماماً.
وتعد Januscape الثغرة الثالثة التي يكتشفها الباحث Kim في غضون شهرين، بعد ثغرتي “Dirty Frag” (CVE-2026-43284) و”ITScape” (CVE-2026-46316) التي استهدفت بيئة KVM على معمارية ARM64. وتؤكد المصادر التقنية أن معالجات ARM64 غير متأثرة بثغرة Januscape الحالية، إلا أن مسؤولي الأنظمة العاملة بتلك المعمارية ملزمون بتطبيق تصحيح ثغرة ITScape المستقلة.









