ثغرة أمنية في OverlayFS تسمح بتصعيد الامتيازات

تم التعرف على ثغرة أمنية في Linux kernel في تنفيذ نظام ملفات OverlayFS (CVE-2023-0386) ، والذي يمكن استخدامه للحصول على وصول الجذر على الأنظمة التي تم تثبيت نظام FUSE الفرعي عليها والسماح بتركيب أقسام OverlayFS بواسطة غير مميز مستخدم (بدءًا من Linux 5.11 kernel مع تضمين مساحة اسم المستخدم غير المتميزة). تم إصلاح المشكلة في الفرع 6.2 kernel. يمكن تتبع نشر تحديثات الحزمة في التوزيعات على الصفحات: Debian و Ubuntu و Gentoo و RHEL و SUSE و Fedora و Arch.

يتم تنفيذ الهجوم عن طريق نسخ الملفات ذات العلامات setgid / setuid من قسم مُثبت في وضع nosuid إلى قسم OverlayFS الذي يحتوي على طبقة مرتبطة بالقسم الذي يسمح لملفات suid بالتنفيذ. الثغرة الأمنية مشابهة لمشكلة CVE-2021-3847 التي تم تحديدها في عام 2021 ، ولكنها تختلف في متطلبات الاستغلال الأقل - تتطلب المشكلة القديمة معالجة xattrs ، والتي تقتصر على استخدام مساحات أسماء المستخدمين (مساحة اسم المستخدم) ، وتستخدم المشكلة الجديدة bits setgid / setuid التي لم يتم التعامل معها بشكل خاص في مساحة اسم المستخدم.

خوارزمية الهجوم:

  • بمساعدة النظام الفرعي FUSE ، يتم تثبيت نظام ملفات ، حيث يوجد ملف قابل للتنفيذ يمتلكه المستخدم الجذر مع علامات setuid / setgid ، وهو متاح لجميع المستخدمين للكتابة. عند التركيب ، يضبط FUSE الوضع على "nosuid".
  • إلغاء مشاركة مساحات أسماء المستخدمين وتحميل النقاط (مساحة اسم المستخدم / تحميل).
  • يتم تثبيت OverlayFS مع FS الذي تم إنشاؤه مسبقًا في FUSE كطبقة سفلية والطبقة العلوية بناءً على الدليل القابل للكتابة. يجب وضع دليل الطبقة العليا في نظام ملفات لا يستخدم علامة "nosuid" عند التحميل.
  • بالنسبة لملف suid في قسم FUSE ، تقوم الأداة المساعدة باللمس بتغيير وقت التعديل ، مما يؤدي إلى نسخه إلى الطبقة العليا من OverlayFS.
  • عند النسخ ، لا يزيل kernel علامات setgid / setuid ، مما يؤدي إلى ظهور الملف على قسم يمكن معالجته بواسطة setgid / setuid.
  • للحصول على حقوق الجذر ، يكفي تشغيل الملف بعلامات setgid / setuid من الدليل المرتبط بالطبقة العليا من OverlayFS.

بالإضافة إلى ذلك ، يمكننا ملاحظة إفشاء الباحثين من فريق Google Project Zero للمعلومات حول ثلاث ثغرات أمنية تم إصلاحها في الفرع الرئيسي لنواة Linux 5.15 ، ولكن لم يتم نقلها إلى حزم kernel من RHEL 8.x / 9.x و CentOS Stream 9.

  • CVE-2023-1252 - الوصول إلى منطقة ذاكرة تم تحريرها بالفعل في بنية ovl_aio_req أثناء إجراء عدة عمليات في نفس الوقت في OverlayFS المنشور أعلى نظام الملفات Ext4. من المحتمل أن تسمح لك الثغرة بزيادة امتيازاتك في النظام.
  • CVE-2023-0590 - بالإشارة إلى منطقة ذاكرة تم تحريرها بالفعل في وظيفة qdisc_graft (). من المفترض أن تكون العملية محدودة للإجهاض.
  • CVE-2023-1249 - الوصول إلى منطقة الذاكرة المحررة بالفعل في كود إدخال coredump بسبب فقدان استدعاء mmap_lock في file_files_note. من المفترض أن تكون العملية محدودة للإجهاض.

المصدر: opennet.ru

إضافة تعليق