تم اكتشاف خطأ في جامع البيانات المهملة في Linux والذي قد يؤدي إلى تصعيد الامتياز 

ضعف systemd

قبل بضعة أيام جان هورن من فريق Google Project Zero ، الذين حددوا في السابق ثغرات Spectre و Meltdown ، كشف النقاب عن تقنية لاستغلال ثغرة أمنية وجدت في جامع القمامة Linux kernel (CVE-2021-4083).

عالي التأثر بسبب حالة السباق عندما يتم تنظيف واصفات ملف مقبس يونكس ويحتمل أن يسمح لمستخدم محلي لا يتمتع بامتيازات بتنفيذ التعليمات البرمجية الخاصة بك على مستوى النواة.

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

يان هورن أظهر كيف ، بمساعدة التلاعب الصغر ، من الممكن تقليل الحالة حدث سباق يحدث عند استدعاء وظائف close () و fget () في نفس الوقت إلى ثغرة أمنية تم استغلالها بالكامل بعد الاستخدام والحصول على إمكانية الوصول إلى بنية بيانات تم تحريرها بالفعل داخل kernel.

تحدث حالة السباق أثناء عملية إغلاق ملف واصف أثناء استدعاء وظائف close () و fget () في نفس الوقت. يمكن تنفيذ استدعاء الإغلاق () قبل تنفيذ fget () ، مما سيؤدي إلى إرباك جامع العناصر غير مستخدم لأنه ، وفقًا لـ refcount ، لن يكون لهيكل الملف مراجع خارجية ، ولكنه سيبقى مرتبطًا بواصف الملف ، أي أن جامع البيانات المهملة سيفترض أن له حق الوصول الحصري إلى الهيكل ، ولكن في الواقع لفترة قصيرة من الوقت ، سيستمر الإدخال المتبقي في جدول واصف الملف للإشارة إلى تحرير البنية.

لزيادة الاحتمال الدخول في حالة السباق ، تم استخدام العديد من الحيل التي سمحت بزيادة احتمالية النجاح من الحيازة بنسبة 30٪ عند إجراء تحسينات نظام محددة. على سبيل المثال ، لزيادة وقت الوصول إلى بنية مع واصفات الملفات بعدة مئات من النانو ثانية ، تم مسح البيانات من ذاكرة التخزين المؤقت للمعالج عن طريق تلويث ذاكرة التخزين المؤقت بالنشاط على نواة وحدة معالجة مركزية أخرى ، مما جعل من الممكن إرجاع البنية من الذاكرة و ليس ذاكرة التخزين المؤقت السريعة لوحدة المعالجة المركزية.

الميزة الثانية المهمة وكان استخدام المقاطعات التي تم إنشاؤها بواسطة جهاز ضبط الوقت لزيادة وقت السباق. تم اختيار التوقيت بحيث يتم إطلاق معالج المقاطعة أثناء حدوث حالة السباق وتنفيذ رمز المقاطعة لفترة من الوقت. لمزيد من التأخير في عودة عنصر التحكم ، أنشأ epoll حوالي 50 ألف إدخال في قائمة الانتظار ، الأمر الذي يتطلب تكرارًا في معالج المقاطعة.

هذه التقنية استغلال الضعف تم الكشف عنها بعد فترة 90 يومًا من عدم الإفصاح. المشكلة

وتم إصلاحه في أوائل ديسمبر. تم تضمين الإصلاح في نواة 5.16 وتم نقله أيضًا إلى فروع LTS للنواة والحزم مع النواة المتوفرة في التوزيعات. وتجدر الإشارة إلى أنه تم تحديد الثغرة الأمنية أثناء تحليل مشكلة مماثلة CVE-2021-0920 ، والتي تتجلى في أداة تجميع البيانات المهملة عند معالجة علامة MSG_PEEK.

تم العثور على ثغرة أخرى مؤخرًا في Linux kernel ، كان الملف CVE-2022-0742 أن يمكن أن تستنفد الذاكرة المتوفرة وتتسبب عن بعد في رفض الخدمة عن طريق إرسال حزم icmp6 المعدة خصيصًا. تتعلق المشكلة بتسرب للذاكرة يحدث عند معالجة رسائل ICMPv6 من النوع 130 أو 131.

كانت المشكلة موجودة منذ kernel 5.13 وتم إصلاحها في الإصدارين 5.16.13 و 5.15.27. لم تؤثر المشكلة على الفروع المستقرة لـ Debian و SUSE و Ubuntu LTS (18.04 و 20.04) و RHEL ، وتم إصلاحها على Arch Linux.

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


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

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