سمحت ثغرة أمنية في بروتوكول شبكة CAN BCM بتصعيد الامتيازات في نواة لينكس 

أمس تم إصدار معلومات حول ثغرة أمنية في Linux kernel والتي تم فهرستها بالفعل كـ CVE-2021-3609. هذا الضعف يسمح للمستخدم المحلي برفع امتيازاته على النظام بسبب حالة السباق في تنفيذ بروتوكول CAN BCM والمتجلى في الإصدارات 2.6.25 إلى 5.13-rc6 من Linux kernel.

يستفيد الحكم بسبب ال يسمح لك بروتوكول CAN BCM بتسجيل مدير الرسائل الخاص بك شبكة منطقة وحدة التحكم (CAN) وتوصيلها بمقبس شبكة محدد. عند وصول رسالة واردة ، يتم استدعاء الوظيفة bcm_rx_handler () يمكن للمهاجم الاستفادة من حالة السباق وإجبار مقبس الشبكة على الإغلاق أثناء التنفيذ bcm_rx_handler ().

تأتي المشكلة عندما يكون المقبس مغلقًا وتسمى الوظيفة bcm_release () ، حيث يتم تحرير الذاكرة المخصصة للهياكل bcm_op و bcm_sock ، التي يستمر استخدامها في المعالج بcm_rx_handler () التي لا تزال قيد التشغيل ، وبالتالي تنشأ حالة تؤدي إلى الوصول إلى كتلة ذاكرة تم تحريرها بالفعل (الاستخدام بعد الاستخدام).

هذا إعلان عن الخطأ الذي تم الإبلاغ عنه مؤخرًا (CVE-2021-3609) في بروتوكول شبكة CAN BCM في Linux kernel بدءًا من الإصدار 2.6.25 إلى الخط الرئيسي 5.13-rc6.
الثغرة الأمنية هي شرط سباق في net / can / bcm.c يسمح بتصعيد الامتياز إلى الجذر. تم الإبلاغ عن المشكلة في البداية بواسطة syzbot وثبت أن Norbert Slusarek يمكن استغلاله.

يتلخص الهجوم في فتح اثنين من مآخذ CAN BCM وربطهما بواجهة vcan. في الموصل الأول ، تقوم بالاتصال sendmsg () مع المؤشر RX_SETUP لتكوين وحدة التحكم لرسائل CAN الواردة وعلى الموصل الثاني ، يمكنك الاتصال sendmsg () لإرسال رسالة إلى الموصل الأول.

بعد وصول الرسالة ، يتم تشغيل استدعاء bcm_rx_handler () ويستغرق المهاجم اللحظة المناسبة ويغلق المقبس الأول ، مما يؤدي إلى إطلاق bcm_release () وإطلاق الهياكل bcm_op و bcm_sock، على الرغم من أن عمل bcm_rx_handler () لم يكتمل بعد.

من خلال معالجة محتوى bcm_sock ، يمكن للمهاجم تجاوز مؤشر إلى وظيفة sk-> sk_data_ready (sk) ، وإعادة توجيه التنفيذ ، واستخدام تقنيات البرمجة الموجهة نحو الإرجاع (ROP) ، وتجاوز معلمة modprobe_path وجعل الكود الخاص به يعمل كجذر .

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

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

تركز محاولتي للاستغلال على النواة ذات الإصدار> = 5.4-rc1 من الالتزام bf74aa86e111. لم أحقق في استغلال النوى الأقدم من 5.4-rc1 باستخدام المهام الصغيرة ، ولكن يبدو أن استغلال النوى الأقدم ممكنًا أيضًا. 

يذكر أن تمكن الباحث الذي حدد الثغرة الأمنية من إعداد برمجية إكسبلويت للحصول على حقوق الجذر على الأنظمة ذات النواة من الإصدار 5.4 والإصدارات الأحدث ، بما في ذلك إمكانية هجوم ناجح على Ubuntu 20.04.02 LTS.

يتم تقليل عمل الاستغلال إلى بناء سلسلة من الاستدعاءات للكتل المماثلة ("الأدوات") للحصول على الوظائف المطلوبة. يتطلب الهجوم الوصول لإنشاء مآخذ توصيل CAN وواجهة شبكة vcan تم تكوينها.

أخيرا يذكر أن المشكلة لا تزال قائمة في معظم التوزيعات ، ولكن الأمر يستغرق أيامًا قبل إصدار التصحيحات المقابلة.

إذا كنت مهتمًا بمعرفة المزيد عنها، يمكنك استشارة الرابط التالي.


اترك تعليقك

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

*

*

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