Dirty Pipe ، أحد أخطر الثغرات الأمنية في لينكس منذ سنوات

تم نشر الخبر مؤخرًا على شبكة الإنترنت من اكتشاف ثغرة جديدة في لينكس الذي تم إدراجه كـ "الخطورة العالية" التي تؤثر على جميع النواة منذ الإصدار 5.8 ، بالإضافة إلى المشتقات ، بما في ذلك Android.

معروف ب يسمح Dirty Pipe بالكتابة فوق البيانات في ملفات للقراءة فقط ويمكن أن يؤدي إلى تصعيد الامتيازات عن طريق حقن التعليمات البرمجية في عمليات "الجذر".

على الرغم من أنه قد تم بالفعل تصحيحه في نواة Linux الرئيسية ، إلا أنه يمكن تسليح الخطأ في شكل استغلال تصعيد الامتياز على جميع الأجهزة التي تعمل بنظام Linux kernel الإصدار 5.8 أو أحدث.

هذا يعني أيضًا أن مجموعة من الهواتف الذكية التي تم إصدارها حديثًا والتي تعمل بنظام Android ، مثل Samsung Galaxy S22 و Google Pixel 6 ، معرضة للخطر أيضًا ، حتى يتلقى كل جهاز تصحيح kernel المناسب من الشركة المصنعة الأصلية المعنية.

حول الأنابيب القذرة

كان الضعف كشف عنها الباحث الأمني ​​ماكس كيليرمان وتم تصنيفها على أنها (CVE-2022-0847) ، استغرق الأمر بضعة أشهر للعثور على ثغرة لإثبات صحة المفهوم.

تسمح الثغرة الأمنية للمستخدم غير المتميز بحقن البيانات والكتابة فوقها في ملفات للقراءة فقط ، بما في ذلك عمليات SUID التي تعمل كجذر. يبدو أن لقب العامية هو تلاعب في الخطأ الشائن بقرة قذرة وآلية Linux تسمى pipelining لتمرير الرسائل بين العمليات ، حيث يتم استخدام الأخيرة أثناء روتين الاستغلال.

بدأ كل شيء قبل عام ببطاقة دعم متعلقة بالملفات التالفة. اشتكى أحد العملاء من أنه لا يمكن فك حزم سجلات الوصول التي تم تنزيلها. وبالفعل ، كان هناك ملف سجل تالف على أحد خوادم السجل ؛ يمكن أن يكون غير مضغوط ، لكن gzip أبلغ عن خطأ CRC. لم أتمكن من شرح سبب تلفها ، لكنني افترضت أن عملية التقسيم الليلية قد تعطلت وأنتجت ملفًا تالفًا. قمت يدويًا بتصحيح CRC للملف ، وأغلقت التذكرة ، وسرعان ما نسيت المشكلة.

بعد شهور من التحليل ، اكتشف الباحث في النهاية أن ملفات العميل التالفة كانت نتيجة خلل في نواة Linux. لقد وجد طريقة لاستغلال Dirty Pipe للسماح لأي شخص لديه حساب ، بما في ذلك حسابات "لا أحد" الأقل امتيازًا ، بإضافة مفتاح SSH إلى حساب المستخدم الجذر.

لإثارة الثغرة الأمنية ، شارك كيليرمان في إثبات المفهوم ، يجب أن يكون المهاجم قد قرأ الأذونات. أيضًا ، يجب ألا يكون التمرير على حدود الصفحة ، ولا يمكن أن تتخطى الكتابة حدود الصفحة ، ولا يمكن تغيير حجم الملف.

لاستغلال هذه الثغرة الأمنية ، يجب عليك: إنشاء أنبوب ، وملء الأنبوب ببيانات عشوائية (عن طريق تعيين علامة PIPE_BUF_FLAG_CAN_MERGE على جميع الإدخالات في الحلقة) ، وإفراغ الأنبوب (ترك العلامة مضبوطة على جميع حالات هيكل pipe_buffer في الهيكل من حلقة pipe_inode_info) ، ادمج البيانات من الملف الهدف (الذي تم فتحه بـ O_RDONLY) في الأنبوب قبل الإزاحة الهدف مباشرةً ، واكتب بيانات عشوائية إلى الأنبوب.

يؤثر Dirty Pipe أيضًا على أي إصدار من Android يعتمد على أحد الإصدارات الضعيفة من Linux kernel. نظرًا لأن Android مجزأ للغاية ، لا يمكن تتبع طرازات الأجهزة المتأثرة بشكل موحد.

وفقا ل Kellerman ، قامت Google بدمج إصلاح الأخطاء الخاص بها مع Android kernel الشهر الماضي ، مباشرة بعد أن تم إصلاحه بإصدار إصدارات Linux kernel 5.16.11 و 5.15.25 و 5.10.102.

بعد قولي هذا ، ربما يتعين علينا الانتظار قليلاً قبل أن تبدأ الشركات المصنعة للمعدات الأصلية في طرح تحديثات Android التي تحتوي على الإصلاح. على سبيل المثال ، لا يزال هاتف Pixel 6 من Google ضعيفًا ، ولكن يمكن للمستخدمين المتقدمين تخفيف الخلل عن طريق تثبيت نواة ما بعد البيع المخصصة كخيار بديل.

أصدر مطورو Linux kernel إصلاحات (5.16.11 ، 5.15.25 ، 5.10.102) في 23 فبراير ، بينما قامت Google بتصحيح نظام Android kernel في 24 فبراير. قارن كيليرمان وخبراء آخرون الضعف بـ CVE-2016-5195 "Dirty Cow" وقالوا إنه من الأسهل استغلالها.

أخيرًا ، إذا كنت مهتمًا بمعرفة المزيد عنها ، يمكنك الرجوع إلى التفاصيل في الرابط التالي.


محتوى المقال يلتزم بمبادئنا أخلاقيات التحرير. للإبلاغ عن خطأ انقر فوق هنا.

كن أول من يعلق

اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني.

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.