الثغرة الأمنية التي تسمح لك بالخروج من بيئة QEMU المعزولة

مكشوف تفاصيل الضعف الحرجة (CVE-2019-14378) في معالج SLIRP الافتراضي المستخدم في QEMU لإنشاء قناة اتصال بين محول الشبكة الظاهري في نظام الضيف والواجهة الخلفية للشبكة على جانب QEMU. تؤثر المشكلة أيضًا على أنظمة المحاكاة الافتراضية المستندة إلى KVM (في وضع المستخدم) و Virtualbox، التي تستخدم الواجهة الخلفية slirp من QEMU، بالإضافة إلى التطبيقات التي تستخدم مكدس شبكة مساحة المستخدم libSLIRP (محاكي TCP/IP).

تسمح الثغرة الأمنية بتنفيذ التعليمات البرمجية على جانب النظام المضيف مع حقوق عملية معالج QEMU عندما يتم إرسال حزمة شبكة كبيرة جدًا مصممة خصيصًا من نظام الضيف، الأمر الذي يتطلب التجزئة. بسبب خطأ في وظيفة ip_reass()، التي يتم استدعاؤها عند إعادة تجميع الحزم الواردة، قد لا يتناسب الجزء الأول مع المخزن المؤقت المخصص وسيتم كتابة ذيله في مناطق الذاكرة المجاورة للمخزن المؤقت.

للاختبار بالفعل متاح نموذج أولي عملي للاستغلال، والذي ينص على تجاوز ASLR وتنفيذ التعليمات البرمجية عن طريق الكتابة فوق ذاكرة المصفوفة main_loop_tlg، بما في ذلك QEMUTimerList مع معالجات يتم استدعاؤها بواسطة المؤقت.
لقد تم بالفعل إصلاح الثغرة الأمنية في فيدورا и SUSE / openSUSE، ولكن لا يزال غير مصحح في ديبيان, قوس لينكس и فري. في أوبونتو и RHEL لا تظهر المشكلة بسبب عدم استخدام slirp. لا تزال الثغرة الأمنية غير ثابتة في الإصدار الأخير ليبسليرب 4.0 (الإصلاح متاح حاليًا باسم رقعة).

المصدر: opennet.ru

إضافة تعليق