Linux yadrosining AF_PACKET soketini amalga oshirishdagi zaiflik

Zaifliklar to'lqinidan uch yil o'tgach (1, 2, 3, 4, 5) Linux yadrosining AF_PACKET quyi tizimida aniqlangan yana bir muammo (CVE-2020-14386), mahalliy imtiyozga ega bo'lmagan foydalanuvchiga kodni ildiz sifatida bajarishga yoki agar ular ildizga kirish huquqiga ega bo'lsa, izolyatsiya qilingan konteynerlardan chiqishga ruxsat berish.

AF_PACKET soketini yaratish va zaiflikdan foydalanish CAP_NET_RAW imtiyozlarini talab qiladi. Biroq, ko'rsatilgan ruxsatni imtiyozsiz foydalanuvchi foydalanuvchi nom maydonlarini qo'llab-quvvatlash yoqilgan tizimlarda yaratilgan konteynerlarda olishi mumkin. Masalan, Ubuntu va Fedora-da foydalanuvchi nomlari bo'shliqlari sukut bo'yicha yoqilgan, lekin Debian va RHEL-da yoqilmagan. Androidda mediaserver jarayoni zaiflikdan foydalanish mumkin bo'lgan AF_PACKET soketlarini yaratish huquqiga ega.

Zaiflik tpacket_rcv funksiyasida mavjud va netoff o'zgaruvchisini hisoblashda xatolik tufayli yuzaga keladi. Buzg'unchi netoff o'zgaruvchisi maclen o'zgaruvchisidan kamroq qiymatga yoziladigan sharoitlarni yaratishi mumkin, bu esa "macoff = netoff - maclen" ni hisoblashda to'lib ketishga olib keladi va keyinchalik kiruvchi ma'lumotlar uchun buferga ko'rsatgichni noto'g'ri o'rnatadi. Natijada, tajovuzkor ajratilgan bufer chegarasidan tashqaridagi hududga 1 dan 10 baytgacha yozishni boshlashi mumkin. Qayd etilishicha, tizimda ildiz huquqlarini olish imkonini beruvchi ekspluatatsiya ishlab chiqilmoqda.

Muammo 2008 yil iyul oyidan beri yadroda mavjud, ya'ni. barcha haqiqiy yadrolarda namoyon bo'ladi. Tuzatish hozirda mavjud yamoq. Quyidagi sahifalarda tarqatishlarda paket yangilanishlari mavjudligini kuzatishingiz mumkin: Ubuntu, Fedora, SUSE, Debian, RHEL, ark.

Manba: opennet.ru

a Izoh qo'shish