وجدوا ثغرات في النظام الفرعي eBPF الذي يسمح بتنفيذ التعليمات البرمجية على مستوى النواة 

مؤخرا نشارك هنا على المدونة الأخبار حول الاهتمام الذي أبدته Microsoft حول النظام الفرعي eBPF ، نظرًا لأنه أنشأ نظامًا فرعيًا لنظام Windows يستخدم طريقة التحليل الثابت للتفسير المجرد ، والتي ، مقارنةً بمدقق eBPF لنظام التشغيل Linux ، تُظهر معدلًا إيجابيًا كاذبًا أقل ، وتدعم تحليل الحلقة ، وتوفر قابلية جيدة للتوسع.

تأخذ الطريقة في الاعتبار العديد من أنماط الأداء النموذجية التي تم الحصول عليها من تحليل برامج eBPF الحالية. هذا النظام الفرعي eBPF تم تضمينه في Linux kernel منذ الإصدار 3.18 و يتيح لك معالجة حزم الشبكة الواردة / الصادرة ، وإعادة توجيه الحزم ، والتحكم في النطاق الترددي ، واعتراض مكالمات النظام ، والتحكم في الوصول ، وإجراء المراقبة.

وهل هذا الحديث عنه، تم الكشف مؤخرًا عن ذلك تم تحديد ثغرتين جديدتين في النظام الفرعي eBPF ، والذي يسمح لك بتشغيل برامج التشغيل داخل نواة Linux في جهاز ظاهري خاص JIT.

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

معلومات حول المشاكل تم نشره بواسطة فريق مبادرة Zero Day ، التي تدير مسابقة Pwn2Own ، والتي تم خلالها عرض ثلاث هجمات هذا العام على Ubuntu Linux ، حيث تم استخدام نقاط ضعف غير معروفة سابقًا (إذا كانت الثغرات الأمنية في eBPF مرتبطة بهذه الهجمات ، فلا يتم الإبلاغ عنها).

تم اكتشاف أن eBPF ALU32 يحد من التتبع لعمليات البت (AND و OR و XOR) لم يتم تحديث حدود 32 بت.

مانفريد بول (_manfp) من فريق RedRocket CTF (redrocket_ctf) يعمل معهاكتشفت مبادرة Zero Day من Trend Micro أن هذه الثغرة الأمنية يمكن تحويله إلى القراءة والكتابة خارج الحدود في النواة. لقد كان هذا تم الإبلاغ عنها باسم ZDI-CAN-13590 وتم تعيينها CVE-2021-3490.

  • CVE-2021-3490: ترجع الثغرة الأمنية إلى الافتقار إلى التحقق خارج الحدود لقيم 32 بت عند تنفيذ عمليات أحاديات AND و OR و XOR على eBPF ALU32. يمكن للمهاجم الاستفادة من هذا الخطأ لقراءة البيانات وكتابتها خارج حدود المخزن المؤقت المخصص. كانت مشكلة عمليات XOR موجودة منذ kernel 5.7-rc1 و AND و OR منذ 5.10-rc1.
  • CVE-2021-3489: الثغرة الأمنية ناتجة عن خطأ في تنفيذ المخزن المؤقت الحلقي وترتبط بحقيقة أن وظيفة bpf_ringbuf_reserve لم تتحقق من احتمال أن يكون حجم منطقة الذاكرة المخصصة أصغر من الحجم الفعلي لمخزن Ringbuf المؤقت. كانت المشكلة واضحة منذ إصدار 5.8-rc1.

وبالإضافة إلى ذلك، يمكننا أيضًا ملاحظة ثغرة أخرى في نواة Linux: CVE-2021-32606 ، أي يسمح للمستخدم المحلي برفع امتيازاته إلى مستوى الجذر. تتجلى المشكلة منذ إصدار Linux kernel 5.11 وهي ناتجة عن حالة سباق في تنفيذ بروتوكول CAN ISOTP ، مما يجعل من الممكن تغيير معلمات ربط المقبس بسبب نقص تكوين الأقفال المناسبة في isotp_setsockopt () عندما تتم معالجة العلم CAN_ISOTP_SF_BROADCAST.

مرة واحدة في مقبس ، ISOTP يستمر في الارتباط بمقبس المستقبل ، والذي يمكنه الاستمرار في استخدام الهياكل المرتبطة بالمقبس بعد تحرير الذاكرة المرتبطة (الاستخدام بعد الاستخدام بسبب استدعاء الهيكل isotp_sock صدر بالفعل عندما اتصلsotp_rcv(). من خلال معالجة البيانات ، يمكنك تجاوز المؤشر إلى الوظيفة sk_error_report () وتشغيل التعليمات البرمجية الخاصة بك على مستوى النواة.

يمكن تتبع حالة إصلاحات الثغرات الأمنية في التوزيعات على هذه الصفحات: أوبونتو, ديبيان, RHEL, فيدورا, SUSE, قوس).

تتوفر الإصلاحات أيضًا على هيئة تصحيحات (CVE-2021-3489 و CVE-2021-3490). يعتمد استغلال المشكلة على مدى توفر الاتصال بنظام eBPF للمستخدم. على سبيل المثال ، في التكوين الافتراضي على RHEL ، يتطلب استغلال الثغرة الأمنية أن يكون لدى المستخدم امتيازات CAP_SYS_ADMIN.

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


اترك تعليقك

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

*

*

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