در هسته Linux یک آسیبپذیری (CVE-2023-0386) در پیادهسازی سیستم فایل OverlayFS شناسایی شده است که میتواند برای دستیابی به دسترسی ریشه در سیستمهایی که زیرسیستم FUSE روی آنها نصب شده است، مورد سوءاستفاده قرار گیرد و امکان نصب پارتیشنهای OverlayFS توسط یک کاربر غیرمجاز (از هسته شروع میشود) را فراهم کند. Linux 5.11 с включением непривилегированных user namespace). Проблема устранена в ветке ядра 6.2. Публикацию обновлений пакетов в дистрибутивах можно проследить на страницах: Debian, Ubuntu، جنتو، RHEL، SUSE، فدورا، آرچ.
این حمله با کپی کردن فایل هایی با پرچم های setgid/setuid از یک پارتیشن نصب شده در حالت nosuid به یک پارتیشن OverlayFS انجام می شود که دارای یک لایه مرتبط با پارتیشن است که امکان اجرای فایل های suid را می دهد. این آسیبپذیری نزدیک به مشکل CVE-2021-3847 است که در سال 2021 شناسایی شد، اما نیازمندیهای بهرهبرداری پایینتری دارد - مشکل قدیمی نیاز به دستکاری xattrs داشت، که هنگام استفاده از فضای نام کاربری محدود است، و مشکل جدید از بیتهای setgid/setuid استفاده میکند که عبارتند از به طور خاص در فضای نام کاربری مدیریت نمی شود.
الگوریتم حمله:
- با استفاده از زیرسیستم FUSE، یک فایل سیستم نصب می شود که در آن یک فایل اجرایی متعلق به کاربر root با پرچم های setuid/setgid وجود دارد که برای نوشتن برای همه کاربران قابل دسترسی است. هنگام نصب، FUSE حالت را روی "nosuid" تنظیم می کند.
- فضای نام کاربر/mount به اشتراک گذاشته نمی شود.
- OverlayFS نصب شده است و FS را که قبلاً در FUSE ایجاد شده بود به عنوان لایه پایین و لایه بالایی بر اساس دایرکتوری قابل نوشتن مشخص می کند. دایرکتوری لایه بالایی باید در سیستم فایلی قرار داشته باشد که هنگام نصب از پرچم "nosuid" استفاده نمی کند.
- برای یک فایل suid در پارتیشن FUSE، ابزار لمسی زمان اصلاح را تغییر میدهد که منجر به کپی آن در لایه بالایی OverlayFS میشود.
- هنگام کپی کردن، هسته پرچمهای setgid/setuid را پاک نمیکند، که منجر به نمایش فایل در پارتیشنی میشود که امکان پردازش setgid/setuid را فراهم میکند.
- برای به دست آوردن حقوق ریشه، فقط فایل را با پرچم های setgid/setuid از دایرکتوری متصل به لایه بالایی OverlayFS اجرا کنید.
Дополнительно можно отметить раскрытие исследователями из команды Google Project Zero сведений о трёх уязвимостях, которые были исправлены в основной ветке ядра Linux 5.15, но не были перенесены в пакеты с ядром из RHEL 8.x/9.x и CentOS جریان ۹.
- CVE-2023-1252 – دسترسی به یک ناحیه حافظه از قبل آزاد شده در ساختار ovl_aio_req هنگام انجام چندین عملیات به طور همزمان در OverlayFS که در بالای سیستم فایل Ext4 مستقر شده است. به طور بالقوه، آسیب پذیری به شما امکان می دهد امتیازات خود را در سیستم افزایش دهید.
- CVE-2023-0590 - دسترسی به حافظه آزاد شده در تابع ()qdisc_graft. فرض بر این است که عملیات به خاتمه غیرعادی محدود می شود.
- CVE-2023-1249 به دلیل تماس از دست رفته mmap_lock در file_files_note، دسترسی به حافظه از قبل آزاد شده در کد نوشتن coredump رخ می دهد. فرض بر این است که عملیات به خاتمه غیرعادی محدود می شود.
منبع: opennet.ru
