سمحت ثغرة أمنية منذ أكثر من 15 عامًا في Netfilter بتصعيد الامتيازات

قبل أيام قليلة صدرت النبأ تم التعرف على ثغرة أمنية في Netfilter (نظام فرعي Linux kernel يستخدم لتصفية وتعديل حزم الشبكة) ، والذي يسمح للمستخدم المحلي بالحصول على امتيازات الجذر في النظامحتى أثناء وجوده في حاوية معزولة.

الثغرة الأمنية CVE-2021-22555 إنها مشكلة كانت موجودة منذ kernel 2.6.19، التي تم إطلاقها منذ 15 عامًا وهي بسبب خلل في السائقين IPT_SO_SET_REPLACE و IP6T_SO_SET_REPLACE ، مما يتسبب في تجاوز سعة المخزن المؤقت عند إرسال معلمات مزينة خصيصًا عبر استدعاء setockopt في وضع التوافق.

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

على سبيل المثال ، يتوفر دعم لمساحات أسماء المستخدمين غير المتميزة في kernel 3.8. أيضًا ، تحتوي بعض التوزيعات على تصحيح يضيف sysctl لتعطيل مساحات أسماء المستخدمين غير المتميزة.

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

CVE-2021-22555 عبارة عن حزمة عمرها 15 عامًا خارج ثغرة الكتابة في نظام Linux Netfilter وهي قوية بما يكفي لتجاوز جميع وسائل تخفيف الأمان الحديثة وتحقيق تنفيذ كود kernel.

على هذا النحو ، يوصف ذلك يمكن للمستخدم المحلي إنشاء حاوية مع مستخدم جذر منفصل واستغلال الثغرة الأمنية من هناكأنا. على سبيل المثال ، يتم تضمين "مساحات أسماء المستخدمين" افتراضيًا في Ubuntu و Fedora ، ولكن ليس في Debian و RHEL.

يمكن استغلال هذه الثغرة الأمنية عن طريق الكتابة فوق ملف m_list->nextالمؤشر msg_msgهيكل وتحقيق مجاني بعد الاستخدام. هذا قوي بما يكفي لتشغيل كود النواة الخاص بك لتجاوز KASLR و SMAP و SMEP.

أيضًا ، تنشأ مشكلة في وظيفة xt_compat_target_from_user () بسبب حساب حجم الذاكرة غير الصحيح عند حفظ هياكل kernel بعد التحويل من تمثيل 32 بت إلى 64 بت.

على هذا النحو ، ذكر أن يسمح الخطأ بكتابة أربعة بايت "صفر" إلى أي موضع خارج المخزن المؤقت معين ، مقيد بالإزاحة 0x4C. وبسبب هذا يذكر ذلك تبين أن هذه الميزة كافية لخلق استغلال الذي يسمح بالحصول على حقوق الجذر: عن طريق حذف المؤشر التالي في بنية msg_msg ، تم إنشاء الشروط للوصول إلى البيانات بعد تحرير الذاكرة (الاستخدام بعد الاستخدام) ، والتي تم استخدامها بعد ذلك للحصول على معلومات حول العناوين و التغييرات على الهياكل الأخرى عن طريق معالجة استدعاء النظام msgsnd ().

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

لقد أنشأت مشاريع Debian و Arch Linux و Fedora تحديثات الحزمة بالفعل. بدءًا من تحديثات Ubuntu و RHEL و SUSE قيد العمل. لأن الخطأ خطير وقابل للاستغلال في الممارسة ويسمح للهروب من الحاوية ، قدرت جوجل اكتشافها بـ 10,000 دولار وضاعفت المكافأة للباحث الذي حدد الثغرة الأمنية ولتحديد طريقة لتجنب عزل حاويات Kubernetes على مجموعة kCTF.

للاختبار ، تم إعداد نموذج أولي عملي لبرمجيات إكسبلويت يتجاوز آليات الحماية KASLR و SMAP و SMEP.

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


اترك تعليقك

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

*

*

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