Kerentanan dina KVM ngamungkinkeun palaksanaan kode di luar sistem tamu dina prosesor AMD

Panaliti ti tim Google Project Zero ngumumkeun sababaraha dinten ka pengker dina tulisan blog éta parantos ngaidentipikasi kerentanan (CVE-2021-29657) dina KVM hypervisor (hypervisor basis Linux open source anu ngadukung virtualisasi kagancangan hardware dina x86, ARM, PowerPC, sareng S / 390) anu ngamungkinkeun anjeun nyingkahan isolasi sistem tamu sareng ngajalankeun kode anjeun di sisi lingkungan host.

Pos nyebatkeun yén masalah manifests tina kernel Linux 5.10-rc1 dugi ka v5.12-rc6, nyaéta, ukur nutupan kernel 5.10 sareng 5.11 (Kaseueuran cabang distribusi anu stabil henteu kapangaruhan ku masalah.) Masalahna aya dina mékanisme nested_svm_vmrun, dilaksanakeun nganggo éksténsina AMD SVM (Secure Virtual Machine) sareng ngamungkinkeun peluncuran sistem tamu.

Dina tulisan blog ieu, kuring ngajelaskeun kerentanan kode KVM khusus AMD sareng ngabahas kumaha bug ieu tiasa janten mesin virtual virtual lengkep. Sakanyaho kuring, ieu mangrupikeun tulisan umum anu mimiti tina breakout tamu-ka-host KVM anu henteu ngandelkeun bug dina komponén ruang-pangguna sapertos QEMU.

Bug anu dibahas ditugaskeun CVE-2021-29657, mangaruhan vérsi kernel v5.10-rc1 dugi ka v5.12-rc6, sareng ditambal akhir Maret 2021. Kusabab bug éta ngan ukur tiasa dieksploitasi dina v5.10 sareng kapendak sakitar 5 bulan ka hareup, seuseueurna panyebaran KVM dunya nyata henteu kedah kapangaruhan. Kuring masih mikir yén masalah éta mangrupikeun studi kasus anu narik dina padamelan anu diperyogikeun pikeun ngawangun pelarian tamu-ka-host anu stabil ngalawan KVM sareng kuring miharep tulisan ieu tiasa ngajantenkeun kompromi hypervisor sanés ngan ukur masalah tioritis.

Panaliti nyebatkeun yén pikeun leres ngalaksanakeun fungsi ieu, hypervisor kedah nyegat sadaya pitunjuk SVM dijalankeun dina sistem tamu, niru kalakuanana sareng nyingkronkeun kaayaan sareng pakakasna, anu rada tugas sesah.

Saatos nganalisis usulan palaksanaan KVM, panalungtiks ngalaman kasalahan logika anu ngamungkinkeun eusi MSR (Pendaptaran khusus modél) host dipangaruhan tina sistem tamu, anu tiasa dianggo pikeun ngaéksekusi kode dina tingkat host.

Khususna, ngajalankeun operasi VMRUN ti tamu tingkat kadua bersarang (L2 diluncurkeun ti sémah anu sanés) nyababkeun telepon kadua pikeun nested_svm_vmrun sareng ngarusak struktur svm-> nested.hsave, anu ditutupan ku data ti vmcb tina sistem tamu L2 .

Hasilna, timbul kaayaan dimana di tingkat tamu L2 dimungkinkeun pikeun ngosongkeun memori dina struktur svm-> nested.msrpm, anu nyimpen bit MSR, sanaos teras dianggo, sareng aksés kana MSR tina host lingkungan.

Ieu hartosna, salaku conto, mémori sémah tiasa dipariksa ku cara miceun mémori anu dialokasikan tina prosés rohangan pangguna na atanapi yén wates sumberdaya pikeun waktos CPU sareng mémori tiasa gampang dilaksanakeun. 

Salaku tambahan, KVM tiasa ngaleupaskeun seueur padamelan anu aya hubunganana sareng emulasi alat pikeun komponén rohangan pangguna.

Masalahna aya dina kode anu dianggo dina sistem anu nganggo prosesor AMD (modul kvm-amd.ko) sareng henteu muncul dina prosesor Intel.

 Di luar tina sababaraha alat anu peka kinerja kalayan kaayaan ngaganggu, sadaya kode tingkat handap kompléks pikeun nyayogikeun disk virtual, jaringan, atanapi aksés GPU tiasa dikaluarkeun dina rohangan pangguna.  

Panaliti salian ngajelaskeun masalah Aranjeunna ogé parantos nyiapkeun prototipe anu tiasa dianggo tina garapan anu ngamungkinkeun ngajalankeun cangkang akar tina lingkungan tamu di lingkungan host dina sistem anu nganggo prosesor AMD Epyc 7351P sareng kernel Linux 5.10.

Éta katitén éta ieu tamu munggaran anu ngagaduhan kerentanan dina KVM hypervisor sorangan, henteu aya hubunganana sareng bug dina komponén rohangan pangguna sapertos QEMU. Perbaikanana ditampi dina kernel dina akhir Maret.

tungtungna upami anjeun resep terang langkung seueur perkawis éta ngeunaan catetan, anjeun tiasa parios detil na Dina tautan ieu.


Eusi tulisan taat kana prinsip urang tina étika éditorial. Pikeun ngalaporkeun kasalahan klik di dieu.

Janten kahiji komen

Ninggalkeun koméntar anjeun

email alamat anjeun moal diterbitkeun. Widang diperlukeun téh ditandaan ku *

*

*

  1. Jawab data: Miguel Ángel Gatón
  2. Tujuan tina data: Kontrol SPAM, manajemén koméntar.
  3. Legitimasi: idin anjeun
  4. Komunikasi data: Data moal dikomunikasikan ka pihak katilu kacuali ku kawajiban hukum.
  5. Panyimpenan data: Basis data anu diayakeun ku Occentus Networks (EU)
  6. Hak: Iraha waé anjeun tiasa ngawatesan, cageur sareng mupus inpormasi anjeun.