
CVE-2026-21986: استنزاف ذاكرة النواة في المجلدات المشتركة لـ VirtualBox يؤدي إلى رفض الخدمة (DoS)
يحتوي هذا المستودع على إثبات مفهوم وتوثيق فني لثغرة CVE-2026-21986، وهي ثغرة رفض خدمة (DoS) في Oracle VM VirtualBox.
توجد المشكلة في واجهة برنامج تشغيل المجلدات المشتركة (Shared Folders) وتتيح التحفيز المتكرر لعمليات تخصيص ذاكرة النواة عبر واجهة IOCTL الخاصة بالجهاز. ويمكن أن يؤدي ذلك إلى نضوب ذاكرة النواة غير المقسّمة إلى صفحات (non-paged) ويتسبب في تجمّد الجهاز الافتراضي.
تم إسناد المعرّف CVE-2026-21986 لهذه الثغرة بدرجة CVSS قدرها 7.1، وقد قامت Oracle بتصحيحها.
واجهة برنامج تشغيل النواة للمجلدات المشتركة في VirtualBox (VBoxMiniRdr)
تؤدي استدعاءات IOCTL المتكررة مع مخازن إدخال مُصمَّمة بعناية إلى تخصيص غير منضبط لذاكرة النواة غير المقسّمة إلى صفحات. ومع الاستخدام المتواصل، يؤدي ذلك إلى استنزاف الموارد وعدم استقرار الجهاز الافتراضي أو تجمّده.
لم تُلاحَظ أي إمكانية لتنفيذ تعليمات برمجية أو تصعيد صلاحيات.
يتم تحفيز الثغرة عبر IOCTL_MRX_VBOX_ADDCONN، الذي يعالج مخازن إدخال يتحكم فيها المستخدم ويؤدي إلى عمليات تخصيص لذاكرة النواة تتناسب مع حجم الإدخال. ومع الاستدعاءات المتكررة، تتراكم عمليات التخصيص بوتيرة أسرع من تحريرها، مما يؤدي إلى نضوب ذاكرة التجمع غير المقسّم إلى صفحات (non-paged pool).
exploit/ poc.cpp
writeup/ technical_writeup.md memory_analysis.md
تم اكتشاف هذه الثغرة (CVE-2026-21986) والإفصاح عنها بمسؤولية من قِبل Mohammed Ba Rashed، مؤلف هذا المستودع، وهي معترَف بها علنًا في النشرة الأمنية الصادرة عن Oracle ووثائق التصحيح.
هذا المشروع مخصص لأغراض تعليمية وبحثية فقط. تم تصحيح الثغرة من قِبل Oracle. لا يشجّع المؤلف إساءة استخدام هذه المعلومات ولا يؤيدها.