Imtiyozlaringizni oshirish imkonini beruvchi Linux yadrosining iSCSI quyi tizimidagi zaiflik

Linux yadrosining iSCSI quyi tizimi kodida zaiflik (CVE-2021-27365) aniqlandi, bu imtiyozsiz mahalliy foydalanuvchiga yadro darajasida kodni bajarish va tizimda ildiz huquqlarini olish imkonini beradi. Sinov uchun ekspluatatsiyaning ishchi prototipi mavjud. Zaiflik Linux yadrosining 5.11.4, 5.10.21, 5.4.103, 4.19.179, 4.14.224, 4.9.260 va 4.4.260 yangilanishlarida ko‘rib chiqildi. Yadro paketi yangilanishlari Debian, Ubuntu, SUSE/openSUSE, Arch Linux va Fedora tarqatishlarida mavjud. RHEL uchun hali hech qanday tuzatish chiqarilmagan.

Muammo 2006 yilda iSCSI quyi tizimini ishlab chiqish jarayonida kiritilgan libiscsi modulining iscsi_host_get_param() funksiyasidagi xatolik tufayli yuzaga keladi. Tegishli o'lcham tekshiruvi yo'qligi sababli, host nomi yoki foydalanuvchi nomi kabi ba'zi iSCSI string atributlari PAGE_SIZE qiymatidan (4 KB) oshib ketishi mumkin. Zaiflikdan imtiyozsiz foydalanuvchi iSCSI atributlarini PAGE_SIZE dan kattaroq qiymatlarga o‘rnatuvchi Netlink xabarlarini yuborish orqali foydalanishi mumkin. Ushbu atributlar sysfs yoki seqfs orqali o'qilganda, o'lchami PAGE_SIZE bo'lgan buferga ko'chiriladigan sprintf funksiyasiga atributlarni uzatuvchi kod chaqiriladi.

Tarqatishlardagi zaiflikdan foydalanish NETLINK_ISCSI soketini yaratishga urinayotganda scsi_transport_iscsi yadro modulining avtomatik yuklanishini qo'llab-quvvatlashga bog'liq. Ushbu modul avtomatik ravishda yuklanadigan tarqatishlarda hujum iSCSI funksiyasidan foydalanishdan qat'iy nazar amalga oshirilishi mumkin. Shu bilan birga, ekspluatatsiyadan muvaffaqiyatli foydalanish uchun kamida bitta iSCSI transportini ro'yxatdan o'tkazish qo'shimcha ravishda talab qilinadi. O'z navbatida, transportni ro'yxatdan o'tkazish uchun siz imtiyozsiz foydalanuvchi NETLINK_RDMA soketini yaratishga harakat qilganda avtomatik ravishda yuklanadigan ib_iser yadro modulidan foydalanishingiz mumkin.

Exploit dasturi uchun zarur bo'lgan modullarni avtomatik yuklash CentOS 8, RHEL 8 va Fedora da rdma-yadro paketini tizimga o'rnatishda qo'llab-quvvatlanadi, bu ba'zi mashhur paketlarga bog'liq bo'lib, sukut bo'yicha ish stantsiyalari, server tizimlari uchun konfiguratsiyalarda o'rnatiladi. GUI va xost muhitini virtualizatsiya qilish. Biroq, faqat konsol rejimida ishlaydigan server yig'ilishidan foydalanganda va minimal o'rnatish tasvirini o'rnatishda rdma-core o'rnatilmagan. Masalan, paket Fedora 31 Workstation-ning asosiy taqsimotiga kiritilgan, ammo Fedora 31 Server-ga kiritilmagan. Debian va Ubuntu muammoga kamroq ta'sir qiladi, chunki rdma-yadro to'plami faqat RDMA apparati mavjud bo'lsa, hujum uchun zarur bo'lgan yadro modullarini yuklaydi.

Imtiyozlaringizni oshirish imkonini beruvchi Linux yadrosining iSCSI quyi tizimidagi zaiflik

Xavfsizlik yechimi sifatida siz libiscsi modulining avtomatik yuklanishini o‘chirib qo‘yishingiz mumkin: echo “libiscsi /bin/true o‘rnatish” >> /etc/modprobe.d/disable-libiscsi.conf

Bundan tashqari, iSCSI quyi tizimida yadrodan maʼlumotlarning oqib ketishiga olib kelishi mumkin boʻlgan ikkita kamroq xavfli zaifliklar tuzatildi: CVE-2021-27363 (sysfs orqali iSCSI transport deskriptor maʼlumotlarining oqib chiqishi) va CVE-2021-27364 (chegaradan tashqari buffer). o'qing). Ushbu zaifliklardan kerakli imtiyozlarsiz iSCSI quyi tizimi bilan netlink rozetkasi orqali muloqot qilish uchun foydalanish mumkin. Misol uchun, imtiyozga ega bo'lmagan foydalanuvchi iSCSI ga ulanishi va sessiyani tugatish uchun "sessiyani tugatish" buyrug'ini berishi mumkin.

Manba: opennet.ru

a Izoh qo'shish