ثغرة أمنية في نظام iSCSI الفرعي لنواة Linux التي تسمح لك بتصعيد امتيازاتك

تم التعرف على ثغرة أمنية (CVE-2021-27365) في كود النظام الفرعي iSCSI الخاص بنواة Linux، والتي تسمح لمستخدم محلي لا يتمتع بالامتياز بتنفيذ تعليمات برمجية على مستوى النواة والحصول على امتيازات الجذر في النظام. يتوفر نموذج أولي عملي للاستغلال للاختبار. تمت معالجة الثغرة الأمنية في تحديثات Linux kernel 5.11.4 و5.10.21 و5.4.103 و4.19.179 و4.14.224 و4.9.260 و4.4.260. تتوفر تحديثات حزمة Kernel على توزيعات Debian وUbuntu وSUSE/openSUSE وArch Linux وFedora. لم يتم إصدار أي إصلاحات لـ RHEL حتى الآن.

سبب المشكلة هو خطأ في وظيفة iscsi_host_get_param() من وحدة libiscsi، التي تم تقديمها مرة أخرى في عام 2006 أثناء تطوير نظام iSCSI الفرعي. نظرًا لعدم وجود عمليات التحقق من الحجم المناسب، قد تتجاوز بعض سمات سلسلة iSCSI، مثل اسم المضيف أو اسم المستخدم، قيمة PAGE_SIZE (4 كيلوبايت). يمكن استغلال الثغرة الأمنية من قبل مستخدم لا يتمتع بأي امتيازات بإرسال رسائل Netlink التي تقوم بتعيين سمات iSCSI على قيم أكبر من PAGE_SIZE. عند قراءة هذه السمات من خلال sysfs أو seqfs، يتم استدعاء التعليمات البرمجية التي تمرر السمات إلى الدالة sprintf ليتم نسخها في المخزن المؤقت الذي يكون حجمه PAGE_SIZE.

يعتمد استغلال الثغرة الأمنية في التوزيعات على دعم التحميل التلقائي لوحدة kernel scsi_transport_iscsi عند محاولة إنشاء مقبس NETLINK_ISCSI. في التوزيعات التي يتم فيها تحميل هذه الوحدة تلقائيًا، يمكن تنفيذ الهجوم بغض النظر عن استخدام وظيفة iSCSI. وفي الوقت نفسه، لاستخدام الاستغلال بنجاح، يلزم أيضًا تسجيل نقل iSCSI واحد على الأقل. وفي المقابل، لتسجيل النقل، يمكنك استخدام وحدة ib_iser kernel، والتي يتم تحميلها تلقائيًا عندما يحاول مستخدم لا يتمتع بالامتيازات إنشاء مقبس NETLINK_RDMA.

يتم دعم التحميل التلقائي للوحدات النمطية اللازمة لتطبيق الاستغلال في CentOS 8 وRHEL 8 وFedora عند تثبيت حزمة rdma-core على النظام، والتي تعد تبعية لبعض الحزم الشائعة ويتم تثبيتها افتراضيًا في تكوينات محطات العمل وأنظمة الخادم ذات واجهة المستخدم الرسومية والبيئات المضيفة الافتراضية. ومع ذلك، لا يتم تثبيت rdma-core عند استخدام مجموعة خادم تعمل فقط في وضع وحدة التحكم وعند تثبيت صورة التثبيت البسيطة. على سبيل المثال، يتم تضمين الحزمة في التوزيع الأساسي لمحطة عمل Fedora 31، ولكنها غير مضمنة في خادم Fedora 31. يعتبر Debian وUbuntu أقل عرضة للمشكلة لأن حزمة rdma-core تقوم بتحميل وحدات kernel اللازمة للهجوم فقط في حالة وجود أجهزة RDMA.

ثغرة أمنية في نظام iSCSI الفرعي لنواة Linux التي تسمح لك بتصعيد امتيازاتك

كحل بديل للأمان، يمكنك تعطيل التحميل التلقائي لوحدة libiscsi: echo “install libiscsi /bin/true” >> /etc/modprobe.d/disable-libiscsi.conf

بالإضافة إلى ذلك، تم إصلاح اثنتين من الثغرات الأقل خطورة والتي يمكن أن تؤدي إلى تسرب البيانات من النواة في نظام iSCSI الفرعي: CVE-2021-27363 (تسرب معلومات واصف نقل iSCSI عبر sysfs) وCVE-2021-27364 (مخزن مؤقت خارج الحدود) يقرأ) . يمكن استخدام هذه الثغرات الأمنية للاتصال عبر مقبس netlink مع نظام iSCSI الفرعي دون الامتيازات اللازمة. على سبيل المثال، يمكن لمستخدم لا يتمتع بالامتيازات الاتصال بـ iSCSI وإصدار أمر "إنهاء الجلسة" لإنهاء الجلسة.

المصدر: opennet.ru

إضافة تعليق