تم العثور على خطأ في kernel AF_PACKET وإزالة نص التمرير في وحدة التحكم

مؤخرا تم الكشف عن مشكلة أخرى في النظام الفرعي AF_PACKET من نواة Linux ، والتي يسمح لمستخدم محلي لا يتمتع بامتيازات بتشغيل التعليمات البرمجية كجذر أو ترك حاويات معزولة إذا كان لديهم وصول الجذر.

تشير المعلومات التي تم إصدارها إلى أن سلطة CAP_NET_RAW مطلوبة لإنشاء مقبس AF_PACKET واستغلال الثغرة الأمنية.

ومع ذلك ، يشار إلى أن يمكن للمستخدم غير المتميز الحصول على الإذن محدد في الحاويات التي تم إنشاؤها على أنظمة مع تمكين مساحات أسماء المستخدمين.

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

حول الثغرة الأمنية في AF_PACKET

الثغرة موجودة في دالة tpacket_rcv وينتج عن خطأ في حساب متغير netoff.

يمكن للمهاجم أن يخلق الظروف التي بموجبها سيكتب قيمة أقل من maclen في متغير netoff ، والذي سوف يتسبب في فيض من خلال حساب "macoff = netoff-maclen" ثم القيام بذلك قد يؤدي بشكل غير صحيح إلى تعيين مؤشر المخزن المؤقت للبيانات الواردة.

نتيجة لذلك ، يمكن للمهاجم أن يبدأ في كتابة 1 إلى 10 بايت في منطقة خارج المخزن المؤقت المخصص. 

كان الخطأ في التقدير موجودًا في النواة منذ يوليو 2008 ، أي جميع النوى الحالية ، ولكن يُفترض أن القدرة المعروفة الآن لاستخدامها في الكتابة إلى منطقة خارج المخزن المؤقت المخصص (الثغرة الأمنية) قد تم تقديمها في فبراير 2016 (من إصدارات kernel 4.6-rc1 وما بعده) ، مع تطوير دعم Virtio_net.

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

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

تمت إزالة دعم تمرير نص وحدة التحكم النصية

من ناحية أخرى ، عند الحديث عن Linux kernel ، تم الإعلان أيضًا عن إزالة كود تمرير النص من تنفيذ وحدة تحكم النص في Linux kernel (CONFIG_VGACON_SOFT_SCROLLBACK).

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

وعليه قبل بضعة أشهر تم التعرف على ثغرة أمنية في vgacon وتم إصلاحها (CVE-2020-14331) التي قد تتسبب في تجاوز سعة المخزن المؤقت بسبب نقص عمليات التحقق من توفر الذاكرة المناسبة في المخزن المؤقت للإزاحة. جذبت الثغرة انتباه المطورين الذي نظم اختبارات التشويش على كود vgacon في syzbot.

إلى جانب ذلك كشفت المزيد من الفحوصات عن العديد من المشكلات مشكلات مماثلة في كود vgacon ، بالإضافة إلى مشكلات في تنفيذ برنامج التمرير في برنامج تشغيل fbcon.

لسوء الحظ، تم ترك الشفرة الإشكالية دون مراقبة لفترة طويلة ، ربما يرجع ذلك إلى حقيقة أن المطورين تحولوا إلى استخدام وحدات التحكم الرسومية ووحدات التحكم النصية (استمر الأشخاص في استخدام وحدات تحكم vgacon و fbcon ، لكنهم لم يكونوا واجهة kernel الرئيسية لعقود من الزمان وكانت الميزات منتشرة جدًا مثل التمرير المدمج في وحدة التحكم (Shift + Page Up / Page Up) قليل الطلب على الأرجح).

وفي هذا الصدد، قرر Linus Torvalds عدم محاولة الاحتفاظ بالشفرة لم يطالب بها أحد، ولكن ببساطة قم بإزالتها.

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


اترك تعليقك

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

*

*

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