ثغرة Zapscape في KVM: تهديد جديد لمضيفي Linux

تعتبر ثغرة Zapscape الجديدة في KVM تهديدًا محتملاً لمضيفي Linux، حيث يمكن أن تسمح لمهاجمين بالهروب من عزل KVM وتنفيذ كود ضار.
ثغرة Zapscape الجديدة في KVM قد تسمح لكود الضيف المتميز بالهروب إلى مضيفي Linux
تعتبر Zapscape، وهي ثغرة جديدة في نواة Linux، تهديدًا محتملاً حيث يمكن أن تسمح لمهاجم لديه صلاحيات نواة داخل آلة افتراضية (VM) من المستوى الأول (L1) بالهروب من عزل KVM وتنفيذ كود على المضيف. ينطبق هذا الخطر عندما يتم تعريض الافتراضية المتداخلة للضيوف غير الموثوقين.
تفاصيل الثغرة
تُعزى الثغرة إلى CVE-2026-64561 وتؤثر على وحدة إدارة الذاكرة الظلية (MMU) في KVM/x86، التي تدير جداول الصفحات الظلية المستخدمة لترجمة ذاكرة الضيوف المتداخلة.
قال الباحث الأمني هيون وو كيم، الذي كشف عن العيب، إن مسار الاستغلال المُظهر يمكنه تنفيذ أوامر على المضيف بصلاحيات نواة أو جذر.
تم دمج الإصلاح في النسخة الأصلية، وينبغي على المسؤولين الذين يديرون مضيفي KVM الذين يعرضون الافتراضية المتداخلة للضيوف غير الموثوقين تحديث إلى نواة مستقرة مصححة أو حزمة بائع تعيد تضمين التصحيح.
متطلبات الثغرة
عادة ما تعني صلاحية النواة من المستوى الأول أن الضيف هو الجذر. تتطلب أنظمة Intel أيضًا أن يتم تعريض كل من طول مسار EPT 4 و5 للضيف من المستوى الأول. لا يوجد شرط مكافئ في AMD.
Zapscape هو عيب في ترتيب فحص الجذر البائد في إدارة الذاكرة الظلية لـ KVM، مما يمكن أن يؤدي إلى استخدام بعد التحرير. أثناء معالجة أخطاء الصفحات التي يتم تحفيزها بواسطة الضيف، يمكن لـ KVM استرداد صفحات MMU وإبطال صفحة الجذر في MMU الظلي التي لا تزال قيد الاستخدام من قبل مسار معالجة الخطأ. نظرًا لأن المسار لا يتحقق من الجذر مرة أخرى، يمكن لـ KVM الاستمرار تحت الجذر الملغى.
إثبات المفهوم
استخدم كيم إثبات المفهوم العام الخاص به لبناء سلسلة كاملة تنشئ ملفًا مملوكًا للجذر باسم /Zapscape على المضيف الذي يعمل على KVM المعرض للخطر.
يستهدف إثبات المفهوم SVM/NPT المتداخل من AMD على Linux 7.1.3. يوصي كيم بتشغيله تحت QEMU TCG للاختبار الآمن. QEMU ليس العنصر المعرض للخطر. قال كيم إن الخطأ يعيش في KVM داخل النواة ويتم تحفيزه بشكل مستقل عن محاكاة QEMU.
تتضمن الكتابة التي نشرها كيم في 6 أغسطس إثبات مفهوم عام، ولكنه لا يدعي أن الثغرة قد تم استغلالها في البرية. كما وصفها بأنها “ليست استغلالًا مسلحًا يعمل على الفور” في بيئات السحابة، مشيرًا إلى أن الاستخدام في العالم الحقيقي سيتطلب نقل إجراءات المستوى الأول إلى وحدة نواة الضيف وتكييف الاستغلال مع تكوين نواة المضيف وذاكرة الخلفية.
تقييم الثغرة
تسرد قاعدة بيانات الثغرات الوطنية Linux 5.9 وما بعده كمتأثرة حتى الإصدار الثابت المصحح، بما في ذلك 6.6.148، 6.12.101، 6.18.42، 7.1.6، و7.2-rc5.
خصصت Red Hat درجة CVSS أولية قدرها 7.0 في إشعارها وصنفت المشكلة كـ CWE-825، أو إلغاء مرجع المؤشر المنتهي.
تعتمد حالة الحزمة على متتبع كل بائع Linux، وليس فقط على سلاسل إصدار النسخة الأصلية. تحذر Red Hat من أن حزمها غالبًا ما تحمل إصلاحات معادة التضمين دون إعادة التأسيس إلى إصدار أصلي جديد.
اعتبارًا من 6 أغسطس 2026، أدرج متتبع Debian حزم نواة bullseye وbookworm وtrixie، بما في ذلك مستودعات الأمان الخاصة بها، كمعرضة للخطر. كما أدرج forky كمعرض للخطر وsid كإصدار مصحح عند 7.1.6-1.
وفقًا لجدول الكشف، أبلغ كيم عن المشكلة إلى [email protected] في 11 يوليو 2026. تم نشر وتصحيح التصحيح في 21 يوليو، وتم تقديم المشكلة إلى قائمة linux-distros في 1 أغسطس تحت حظر لمدة خمسة أيام، وتم تخصيص CVE-2026-64561 في 4 أغسطس. تلت ذلك الكشف العام في 6 أغسطس.
ينتقل الإصلاح، الذي تم دمجه كالتزام 2abd5287f083، بفحص الجذر البائد بعد make_mmu_pages_available(). إذا ألغى الاسترداد الجذر الحالي، فإن KVM الآن يعيد تشغيل الخطأ مع RET_PF_RETRY بدلاً من الاستمرار في التعيين أو الاسترداد تحت الجذر الملغى.
يأتي الكشف بعد عمل كيم السابق في KVM، بما في ذلك Januscape (CVE-2026-53359)، وهي مشكلة أخرى في KVM/x86 shadow-MMU تم تغطيتها من قبل The Hacker News في يوليو، وITScape (CVE-2026-46316)، وهي هروب KVM/arm64 تم نشرها في يونيو.
مع استمرار تطور التهديدات الأمنية، من الضروري أن يبقى المسؤولون على اطلاع دائم بالإصلاحات والتحديثات لحماية أنظمتهم.




