
إثبات مفهوم (PoC) لتصعيد الامتيازات المحلية (LPE) لثغرة استخدام-بعد-التحرير (use-after-free) في النظام الفرعي netfilter لنواة لينكس.
استغلال LPE لـ CVE-2022-32250 - ثغرة Use-After-Free في netfilter.
شرحي للثغرة: التغلّب على Use-After-Free في nf_tables: تحليل مفصّل واستغلال CVE-2022-32250
يتطلب البناء libmnl و libnftnl.
gcc -lmnl -lnftnl exploit.c -o exploit
تؤثر الثغرة على كلٍّ من الإصدارات التي تحتوي على مخازن KMALLOC_NORMAL فقط وتلك التي تحتوي أيضًا على KMALLOC_CGROUP. عند تطوير الاستغلال استخدمت فقط بدائيات (primitives) تعمل في كلتا الحالتين - ومع ذلك، تم إجراء الاختبارات على 5.12 الذي يحتوي فقط على مخازن KMALLOC_NORMAL. نظريًا يعمل في كلتا الحالتين - عمليًا، قد يتطلّب الأمر قليلًا من العمل.
موثوقية الاستغلال معقولة - يتمثّل عنق الزجاجة في حدّ المفاتيح (key limit) في لينكس الذي يحد من قدراتنا على رشّ الكائنات (object spraying) (الحد هو 200 للمستخدمين غير الجذر).
الاستغلال هو Proof-of-Concept وهو قادر على تحقيق تصعيد امتيازات محلي على 5.12.0. لم يكن هدفي تسليحه، لذا لا يمكنني إطلاقًا الحديث عن مدى موثوقيته على أي إصدار آخر.
إن Proof-of-Concept وشرح الثغرة هما لأغراض تعليمية وبحثية فقط. استخدمه على مسؤوليتك الخاصة.