Linux yadrosidagi Bridge (STP) zaifligi uchun ommaviy PoC e’lon qilindi: tizimlarda zudlik bilan xavfsizlik yangilanishini amalga oshirish tavsiya etiladi!

Linux operatsion tizimi yadrosining (Linux Kernel) tarmoq ko’prigi (Bridge) quyi tizimida aniqlangan xavfli Use-After-Free (UAF) turidagi zaiflik uchun ommaviy Proof-of-Concept (PoC) kodi e’lon qilindi. Mazkur holat zaiflikdan amalda foydalanishni sezilarli darajada osonlashtirishi sababli Linux serverlari va tarmoq infratuzilmasidan foydalanuvchi tashkilotlar uchun xavf darajasini oshirmoqda.

Mutaxassislarning ta’kidlashicha, zaiflik Linux yadrosining Bridge quyi tizimida ishlovchi Spanning Tree Protocol (STP) mexanizmi bilan bog’liq bo’lib, noto’g’ri xotira boshqaruvi oqibatida yuzaga keladi. Ushbu kamchilik muvaffaqiyatli ekspluatatsiya qilingan taqdirda tizimning ishdan chiqishi (Denial-of-Service) yoki ma’lum sharoitlarda yadro darajasida ixtiyoriy kod bajarilishigacha olib kelishi mumkin.

Zaiflikning mohiyati

Use-After-Free — bu dastur tomonidan allaqachon bo’shatilgan (free qilingan) xotira maydoniga qayta murojaat qilinishi natijasida yuzaga keladigan xotira xavfsizligi zaifligidir. Bunday holatda tizim mavjud bo’lmagan yoki boshqa ma’lumotlar bilan qayta to’ldirilgan xotira manzilidan foydalanishga urinadi.

Natijada:

  • tizimning favqulodda to’xtashi (Kernel Panic);
  • xizmatlarning uzilishi;
  • xotiraning buzilishi;
  • imtiyozlarni oshirish (Privilege Escalation);
  • ayrim sharoitlarda yadro darajasida zararli kod bajarilishi

kabi jiddiy oqibatlar yuzaga kelishi mumkin.

Zaiflik qanday yuzaga keladi?

Muammo Linux yadrosining Bridge quyi tizimidagi Spanning Tree Protocol (STP) taymerlarini boshqarish mexanizmi bilan bog’liq.

STP Ethernet tarmoqlarida ikkinchi (Layer 2) qatlamda halqalar (Loop) hosil bo’lishining oldini oluvchi muhim protokollardan biri hisoblanadi. U tarmoq topologiyasini nazorat qilish, portlarning holatini boshqarish hamda ortiqcha ulanishlarni bloklash orqali tarmoqning barqaror ishlashini ta’minlaydi.

Aniqlangan zaiflik quyidagi holatda yuzaga keladi:

  • STP funksiyasi yoqilgan Bridge interfeysi administrativ jihatdan o’chirilgan (DOWN) bo’ladi;
  • Bridge portlaridan biri LEARNING holatiga o’tadi;
  • yadro STP taymerlarini ishga tushiradi, biroq interfeysning faol (IFF_UP) holatini tekshirmaydi;
  • keyinchalik Bridge qurilmasi o’chirilgan bo’lsa ham taymerlar faol holatda qoladi;
  • qurilma xotirasi bo’shatilgandan so’ng taymerlar eski xotira manziliga murojaat qiladi.

Natijada bo’shatilgan xotira maydoniga murojaat qilinadi va Use-After-Free zaifligi yuzaga keladi.

Muammoning texnik sababi

Linux yadrosi STP ishlashi uchun quyidagi taymerlardan foydalanadi:

  • hello_timer
  • tcn_timer
  • topology_change_timer
  • portlarga tegishli boshqa STP taymerlari

Mazkur taymerlar struct net_bridge obyektida saqlanadi. Ushbu obyekt esa Bridge qurilmasining net_device strukturasiga biriktirilgan bo’ladi.

Oddiy holatda Bridge interfeysi o’chirilayotganda br_stp_disable_bridge() funksiyasi chaqirilib, barcha STP taymerlari del_timer_sync() yordamida xavfsiz tarzda bekor qilinadi.

Biroq Bridge to’g’ridan-to’g’ri o’chirilganda (br_dev_delete()) ushbu tozalash jarayoni bajarilmaydi. Natijada taymerlar navbatda qoladi, biroq ularga tegishli xotira allaqachon bo’shatilgan bo’ladi.

Keyinchalik yadro taymerni ishga tushirganda u mavjud bo’lmagan obyektga murojaat qiladi va xotira buzilishi yuz beradi.

Nima uchun bu xavfli?

Dastlab bunday zaifliklar odatda tizimning ishdan chiqishi yoki xizmatlarning to’xtashiga sabab bo’ladi.

Biroq xavfsizlik tadqiqotchilarining ta’kidlashicha, agar hujumchi bo’shatilgan xotirani nazorat ostidagi ma’lumotlar bilan qayta to’ldirishga muvaffaq bo’lsa, ushbu zaiflik:

  • boshqaruv oqimini (Control Flow) o’zgartirish;
  • yadro darajasida ixtiyoriy kod bajarish;
  • imtiyozlarni oshirish;
  • xavfsizlik mexanizmlarini chetlab o’tish

uchun ham foydalanilishi mumkin.

Aynan shu sababli PoC kodining ommaga e’lon qilinishi xavf darajasini yanada oshirmoqda. Endilikda zaiflikni tahlil qilish va undan foydalanish usullarini ishlab chiqish kiberjinoyatchilar uchun ancha osonlashadi.

Ta’sir doirasi

Mazkur zaiflik Linux yadrosining Bridge va Kernel STP funksiyalaridan foydalanadigan tizimlarga ta’sir ko’rsatadi.

Quyidagi muhitlarda xavf nisbatan yuqori bo’lishi mumkin:

  • Linux asosidagi serverlar;
  • virtualizatsiya platformalari;
  • konteyner infratuzilmalari;
  • Kubernetes klasterlari;
  • Open vSwitch yoki Linux Bridge ishlatiladigan tizimlar;
  • bulut infratuzilmalari;
  • tarmoq virtualizatsiyasi yechimlari.

Agar tizimda Bridge interfeyslari yaratilmasa yoki Kernel STP funksiyasidan foydalanilmasa, ekspluatatsiya qilish imkoniyati sezilarli darajada kamayadi.

Zaiflik bartaraf etildi

Linux ishlab chiquvchilari ushbu muammoni maxsus xavfsizlik tuzatishi orqali bartaraf etdilar.

Tuzatish 2a00517db8de4be7df3d483b215c5544fb30a191 identifikatorli commit tarkibida kiritilgan.

Mazkur commit chiqarilishidan oldingi Linux yadrosi versiyalaridan foydalanayotgan tizimlar potensial xavf ostida hisoblanadi.

Shu sababli administratorlarga operatsion tizim distributivi tomonidan taqdim etilgan eng so’nggi xavfsizlik yangilanishlarini imkon qadar tezroq o’rnatish tavsiya etiladi.

Tashkilotlar uchun tavsiyalar

Linux serverlari va tarmoq infratuzilmasidan foydalanuvchi tashkilotlarga quyidagi choralarni amalga oshirish tavsiya etiladi:

  • Linux yadrosini eng so’nggi xavfsizlik yangilanishigacha yangilash;
  • distributiv ishlab chiqaruvchisi tomonidan e’lon qilingan xavfsizlik byulletenlarini muntazam kuzatib borish;
  • ishonchsiz foydalanuvchilarning Bridge interfeyslarini yaratish, o’zgartirish yoki o’chirish huquqlarini cheklash;
  • Kernel STP funksiyasidan foydalanayotgan xizmatlarni auditdan o’tkazish;
  • serverlarda minimal imtiyoz (Least Privilege) tamoyiliga amal qilish;
  • tizim jurnallari va yadro hodisalarini (Kernel Logs) doimiy monitoring qilish;
  • muhim serverlarda xavfsizlik yangilanishlarini imkon qadar qisqa muddatlarda joriy etish.

Linux yadrosida aniqlangan ushbu Use-After-Free zaifligi xotira xavfsizligi bilan bog’liq jiddiy muammolardan biri hisoblanadi. Hozirgi vaqtda zaiflik uchun ommaviy PoC mavjudligi sababli undan amalda foydalanish xavfi sezilarli darajada oshgan.

Mazkur zaiflik hozircha keng ko’lamli hujumlarda qo’llanilgani haqida ma’lumot mavjud bo’lmasa-da, tarix shuni ko’rsatadiki, ommaga e’lon qilingan ekspluatatsiya kodlari qisqa muddat ichida turli zararli vositalarga integratsiya qilinishi mumkin. Shu bois Linux serverlari va tarmoq infratuzilmasidan foydalanuvchi barcha tashkilotlarga yadro yangilanishlarini kechiktirmasdan o’rnatish, Bridge va STP konfiguratsiyalarini qayta ko’rib chiqish hamda tizimlarni doimiy monitoring qilish tavsiya etiladi. O’z vaqtida amalga oshirilgan ushbu choralar axborot tizimlarining uzluksiz ishlashi va kiberxavfsizligini ta’minlashda muhim ahamiyat kasb etadi.