„Zapscape“ – KVM pažeidžiamumas, leidžiantis ištrūkti iš virtualios mašinos ir perimti jos valdymą.

Pagrindiniai klausimai:
  • Kritinis KVM trūkumas, leidžiantis užpuolikui pabėgti iš virtualios mašinos (L1) ir visiškai perimti pagrindinio serverio (L0) valdymą.
  • Sukėlė „laisvos atminties naudojimo“ klaida šešėliniame MMU valdyme, egzistuojanti nuo „Linux“ branduolio 5.9 versijos.
  • Norint naudoti įterptosios virtualizacijos funkciją, būtinai ją įjunkite serveryje.
  • Tai paveikia AMD ir „Intel“ procesorius (pastariesiems reikalingos atviros 4 ir 5 lygių EPT puslapio apėjimo galimybės).
  • Ištaisyta naujausiuose branduolio atnaujinimuose, rekomenduojama laikinai išjungti įdėtąją virtualizaciją kaip problemos sprendimo būdą.

Zapscape

Neseniai buvo paskelbta informacija apie pažeidžiamumą , kuris kelia pavojų debesijos serveriams. Šis pažeidžiamumas leidžia užpuolikams visiškai perimti fizinio kompiuterio kontrolę – tai košmaras debesijos infrastruktūros teikėjams.

„Zapscape“, užregistruotas identifikatoriumi CVE-2026-64561, yra kritinė „Linux KVM“ hipervizoriaus spraga, atskleidžianti riziką, kurią daugelis platformų netyčia prisiima įjungdamos įdėtąją virtualizaciją. Ši spraga leidžia užpuolikui, turinčiam branduolio teises virtualioje mašinoje (L1), vykdyti kodą su root teisėmis pagrindinėje sistemoje (L0), taip nutraukiant virtualizuotų aplinkų izoliaciją.

Laikoma didelės įtakos grėsme, „Zapscape“ ne tik palengvina išėjimą iš virtualios mašinos, bet ir atveria vietinį privilegijų eskalavimo kelią pagrindiniams vartotojams, turintiems rašymo teises /dev/kvm įrenginyje.

Nors tokios organizacijos kaip „Red Hat“ įvertino pažeidžiamumą 7.0 CVSS balu, daugiausia dėmesio skirdamos nestabilumui ir paslaugų trikdymui, viešasis koncepcijos įrodymas (PoC) demonstruoja daug destruktyvesnį mastą: savavališko failo sukūrimą tiesiai pagrindinio kompiuterio šakniniame kataloge.

Chaosas atminties valdymo bloke

„Zapscape“ veikimo principas paslėptas KVM atminties valdymo bloke (MMU) ir hipervizoriaus puslapių lentelių tvarkymo būde, kai vienas svečias (L1) veikia kaip kito antrinio svečio (L2) hipervizorius. Problema slypi loginio tvarkymo klaidoje tvarkant puslapio klaidas. Branduolio kodo keliuose „pasenusios šaknies“ patikrinimas buvo vykdomas prieš puslapio paieškos funkciją, o ne po jos.

Ši neteisinga seka sukelia klasikinį „naudojimas po išlaisvinimo“ scenarijų . Atkūrimo metu KVM gali pašalinti naudojamą šaknį ir pažymėti ją kaip negaliojančią. Tačiau kadangi sveikatos patikra jau atlikta, sistema toliau kuria susiejimus su šaknimi, kuri nebegalioja. Įdomu tai, kad ši rūšiavimo problema kode egzistuoja nuo 2008 m., tačiau ji tapo kritinė ir ją buvo galima išnaudoti po „Linux“ branduolio 5.9 išleidimo 2020 m. liepos mėn. , kai buvo įvesta direktyva, kurios sistema tiesiog nustojo vykdyti.

Reikalavimai ir apribojimai

Kad „Zapscape“ būtų galima išnaudoti spragas, aplinka turi atitikti labai specifinius reikalavimus. Pirma, KVM modulyje turi būti įjungta įdėtoji virtualizacija – konfigūracija, leidžianti naudoti trijų pakopų architektūrą (L0, L1 ir L2). Užpuolikas turi inicijuoti ataką iš L1 sluoksnio , kuriam reikalingos root teisės toje virtualioje mašinoje. Iš ten užpuolikas manipuliuoja atminties režimais, o L2 antrinio svečio veikla priverčia L0 pagrindinį kompiuterį inicijuoti kvotos puslapio paiešką, taip sugadindamas atmintį.

Aparatinės įrangos lygmeniu sąlygos skiriasi priklausomai nuo gamintojo. AMD sistemose , kurios naudoja įdėtąsias puslapių lenteles ( SVM ), pažeidžiamumas yra aiškesnis ir nereikalauja jokių papildomų funkcijų. Priešingai, „Intel“ procesoriuose šiam scenarijui reikia , kad L1 svečias turėtų keturių ir penkių lygių EPT puslapių peržiūros galimybes . Tai apriboja atakų vektorių prieš „Intel“ iki naujesnių architektūrų, ypač nuo „Ice Lake-SP“ šeimos.

Verta paminėti, kad nors viešam koncepcijos įrodymui pavyko pasiekti kontroliuojamą aplinką, saugumo tyrėjai pranešė, kad tam tikruose perkompiliuotuose branduoliuose šis spragos išnaudojimas tiesiog sugenda užpuoliko virtualiąją mašiną, veikdamas kaip paslaugos atsisakymas, o ne visiškas pabėgimas.

Švelninimas, pataisymai ir strategijos

Galutinis „Zapscape“ sprendimas „Linux“ saugyklose pasirodė praėjusių metų liepą su pataisa, kuri pataiso patvirtinimo tvarką. Ši pataisa perkelia pasenusios šaknies patikrinimą, kad jis vyktų po MMU puslapio paskirstymo, užtikrinant, kad hipervizorius nesukurtų aktyvių susiejimų po ištrinta šaknimi. Šios pataisos jau buvo įdiegtos stabiliose branduolio šakose ir yra plačiai platinamos įvairių distribucijų.

Administratoriams, kurie negali nedelsdami atnaujinti versijos, yra labai veiksmingų laikinų problemų sprendimo būdų. Prioritetinis veiksmas yra išjungti įdėtąją virtualizaciją visuose serveriuose, kur ji nėra griežtai būtina, perduodant parametrą „nested=0“ moduliams „kvm_amd“ arba „kvm_intel“ modprobe konfigūracijos failuose. Ši priemonė reikalauja iš naujo įkelti modulį, o tai reiškia, kad reikia sustabdyti visas aktyvias virtualias mašinas.

Galiausiai, jei norite sužinoti daugiau, išsamią informaciją galite rasti šioje nuorodoje.


Pridėti kaip pageidaujamą šaltinį „Google“ sistemoje