
إعادة إنتاج وتحليل آلي لثغرة CVE-2021-26708 — وهي ثغرة استخدام بعد التحرير (use-after-free) في نظام AF_VSOCK الفرعي بنواة لينكس (الإصدار v5.10.12). يتضمن كود استغلال PoC، وتقرير اكتشاف وقت التشغيل KASAN، وإعداد بناء النواة الكامل لإعادة إنتاج البيئة. تم بناؤه باستخدام KernJC.
يحتوي هذا المستودع على إعادة إنتاج وتحليل كاملين لثغرة CVE-2021-26708 — وهي ثغرة استخدام بعد التحرير (use-after-free) ناتجة عن حالة سباق في عمليات مقابس AF_VSOCK داخل نواة لينكس (الإصدار v5.10.12). تم إنشاء البيئة التجريبية بالكامل وتنفيذها باستخدام KernJC، وهي أداة آلية لتوليد بيئات معرّضة للثغرات لنواة لينكس.
| الحقل | القيمة |
|---|
| CVE | CVE-2021-26708 |
| النوع | استخدام بعد التحرير (Use-After-Free - UAF) |
| السبب الجذري | حالة سباق في virtio_transport_notify_buffer_size() عبر عمليات مقابس AF_VSOCK المتزامنة |
| إصدار النواة | 5.10.12 |
| الاكتشاف | KASAN (Kernel Address Sanitizer) — مكدس استدعاءات كامل مع تعقّب التخصيص/التحرير |
| درجة الخطورة | عالية (CVSS 7.0) — تصعيد محلي للامتيازات إلى صلاحيات الجذر |
| الملف | الوصف |
|---|---|
KernJC: Automated Vulnerable Environment Generation for Linux Kernel Vulnerabilities.pdf | ورقة KernJC (Ruan et al., RAID 2024) |
experiment_report.pdf | تقرير التجربة الكامل لإعادة إنتاج هذه الثغرة (7 صفحات) |
poc.c | استغلال برهان المفهوم (PoC) الذي يحفّز حالة السباق (المصدر: jordan9001/vsock_poc) |
kasan_report.txt | تقرير KASAN عن استخدام ما بعد التحرير الذي تم التقاطه أثناء إعادة الإنتاج |
kernel_config.txt | ملف .config لنواة لينكس المستخدم في البناء المعرّض للثغرة (5.10.12، x86_64) |
أُجريت جميع التجارب داخل البيئة الآلية KernJC:
| المكوّن | الإصدار/المواصفات |
|---|---|
| نظام التشغيل المضيف | Ubuntu 22.04 |
| QEMU | 6.2.0 مع KVM + vhost-vsock |
| النواة | Linux 5.10.12 (x86_64) |
| المترجم | GCC 9.5.0 |
| الأتمتة | KernJC v0.8.3 |
هذا المشروع مرخّص بموجب رخصة MIT — راجع LICENSE للتفاصيل.