
إثبات مفهوم لاستغلال CVE-2022-0847 (Dirty Pipe) يتيح تصعيد الامتيازات المحلية على أنوية لينكس 5.8–5.16 عبر التلاعب بمخزن الأنبوب (pipe buffer) واختطاف ثنائيات SUID.
يحتوي هذا المستودع على استغلال إثبات المفهوم (PoC) لثغرة Dirty Pipe (CVE-2022-0847)، والتي تؤثر على إصدارات نواة لينكس من 5.8 إلى 5.16. تسمح هذه الثغرة بـ تصعيد الامتيازات محليًا من خلال استغلال المعالجة غير السليمة لمخازن الأنابيب (pipe buffers) في النواة، مما يتيح للمهاجم تعديل الملفات للقراءة فقط (مثل ثنائيات SUID) وتنفيذ كود تعسفي بامتيازات مرتفعة.
ثغرة Dirty Pipe هي مشكلة حرجة موجودة في إصدارات نواة لينكس بين 5.8 و5.16. تسمح بتصعيد الامتيازات محليًا من خلال استغلال المعالجة غير السليمة لمخازن الأنابيب في النواة. يمكن تفعيل هذه الثغرة بالكتابة إلى ملف للقراءة فقط (مثل ثنائيات SUID)، مما قد يؤدي إلى تنفيذ كود تعسفي وربما شل جذر على النظام المتأثر.
لتجميع الاستغلال، شغّل الأمر التالي:
gcc dirtypipe.c -Wall -O2 -fno-pie -no-pie -o dirtypipe
ملاحظات:
تأكد من أن ثنائي SUID الهدف قابل للاستغلال ويوجد في مسار يمكن للمستخدم الذي يشغّل الاستغلال الوصول إليه.
يجب أن يعمل النظام بإصدار معرض للثغرة من نواة لينكس (5.8 إلى 5.16).
يحتوي الاستغلال على آلية لمكافحة التنقيح لمنع اكتشافه من قبل أدوات التنقيح مثل gdb. إذا اكتشف الاستغلال وجود مصحح (debugger)، فإنه سينهي تنفيذه مبكرًا، مما يجعل تحليل الكود أكثر صعوبة على المهاجمين.
تم توفير هذا الاستغلال لأغراض تعليمية وبحثية فقط. الاستخدام غير المصرح به لهذا الاستغلال غير قانوني وغير أخلاقي. تشغيل هذا الاستغلال على أي نظام دون إذن صريح من مالك النظام محظور وقد يؤدي إلى عواقب قانونية.
المؤلف غير مسؤول عن أي أضرار أو فقدان للبيانات أو تبعات قانونية ناتجة عن استخدام أو إساءة استخدام هذا الاستغلال.