
مثال PoC معدل لثغرة Dirty Pipe (CVE-2022-0847) يختطف ثنائي SUID لتشغيل شل بصلاحيات الجذر. (ويحاول أيضًا استعادة الثنائي المتضرر)
استغلال (PoC) مُعدَّل لثغرة Dirty Pipe (CVE-2022-0847) يختطف ثنائي SUID لتشغيل قشرة بصلاحيات الجذر. (وكذلك يحاول استعادة الثنائي المتضرر)
تم اكتشاف خطأ في الطريقة التي يفتقر بها عضو "flags" في بنية مخزن الأنابيب الجديد إلى تهيئة صحيحة في دالتي copy_page_to_iter_pipe و push_pipe في نواة لينكس، وبالتالي قد يحتوي على قيم قديمة. يمكن لمستخدم محلي غير مميز استغلال هذا الخطأ للكتابة إلى الصفحات الموجودة في ذاكرة التخزين المؤقت للصفحات والمدعومة بملفات للقراءة فقط، وبالتالي تصعيد صلاحياته على النظام.
ثغرة لينكس جديدة تُعرف باسم 'Dirty Pipe' تسمح للمستخدمين المحليين بالحصول على صلاحيات الجذر من خلال استغلالات متاحة للعموم.
اليوم، كشف الباحث الأمني Max Kellermann بشكل مسؤول عن ثغرة 'Dirty Pipe'، وذكر أنها تؤثر على نواة لينكس 5.8 والإصدارات الأحدث، حتى على أجهزة أندرويد.
تُتتبع الثغرة برقم CVE-2022-0847، وتسمح لمستخدم غير مميز بحقن البيانات والكتابة فوقها في ملفات للقراءة فقط، بما في ذلك عمليات SUID التي تعمل بصلاحيات الجذر.
اكتشف Kellerman الخطأ بعد تعقب خلل كان يفسد سجلات الوصول لخادم الويب لدى أحد عملائه.
ثم كتب Bl4sty نسخة أخرى. فبدلاً من الكتابة فوق ملف مثل /etc/passwd، يقوم بالكتابة فوق ثنائي SUID يحدده المستخدم (مثل /bin/su)، ويحقن شيفرة شيل (shellcode) تُنفَّذ بعد ذلك بصلاحيات مستخدم متميز (أي الجذر).
gcc dirtypipez.c -o exploit
./exploit /bin/su