ثغرة أمنية في تنفيذ مقبس AF_PACKET لنواة Linux

بعد ثلاث سنوات من موجة الضعف (1, 2, 3, 4, 5) في النظام الفرعي AF_PACKET لنواة Linux المحددة مشكلة اخرى (CVE-2020-14386)، مما يسمح لمستخدم محلي لا يتمتع بأي امتيازات بتنفيذ تعليمات برمجية كجذر أو الخروج من الحاويات المعزولة إذا كان لديه حق الوصول إلى الجذر.

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

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

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

المصدر: opennet.ru

إضافة تعليق