ثغرة أمنية مدتها 0 يوم في برنامج التشغيل n_gsm، مما يسمح بتنفيذ التعليمات البرمجية على مستوى Linux kernel

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

يوفر برنامج التشغيل n_gsm تطبيقًا لبروتوكول GSM 07.10، المستخدم في أجهزة مودم GSM للاتصالات المتعددة بالمنفذ التسلسلي. ترجع الثغرة الأمنية إلى حالة سباق في معالج ioctl GSMIOC_SETCONF_DLCI المستخدم لتحديث تكوين معرف اتصال ارتباط البيانات (DLCI). من خلال المعالجة باستخدام ioctl، يمكنك تحقيق الوصول إلى الذاكرة بعد تحريرها (الاستخدام بعد الحرية).

يمكن استخدام هذا الاستغلال على الأنظمة التي تحتوي على نواة Linux من 5.15 إلى 6.5. على سبيل المثال، تم إثبات الوصول الناجح إلى الجذر في Fedora وUbuntu 22.04 مع 6.5 نواة وDebian 12 مع 6.1 نواة. بدءًا من kernel 6.6، ستكون أذونات CAP_NET_ADMIN مطلوبة للتشغيل. كحل بديل لحظر الثغرة الأمنية، يمكنك منع التحميل التلقائي لوحدة kernel n_gsm عن طريق إضافة السطر "blacklist n_gsm" إلى الملف /etc/modprobe.d/blacklist.conf.

من الجدير بالذكر أنه في شهر يناير تم الكشف عن معلومات حول ثغرة أمنية أخرى (CVE-2023-6546) في برنامج تشغيل n_gsm، والتي يتوفر لها استغلال أيضًا للعامة. لا تتداخل مشكلة عدم الحصانة هذه مع المشكلة الأولى، على الرغم من أنها تنتج أيضًا عن الوصول إلى الذاكرة بعد الحرية عند العمل مع بنية gsm_dlci، ولكن في معالج GSMIOC_SETCONF ioctl. تم إصلاح المشكلة في أغسطس من العام الماضي (تم تضمين الإصلاح في الإصدار 6.5 من kernel).

المصدر: opennet.ru

إضافة تعليق