Udhaifu katika KVM huruhusu utekelezaji wa nambari nje ya mfumo wa wageni kwenye wasindikaji wa AMD

Watafiti kutoka kwa Timu ya Zero ya Mradi wa Google walifunua siku chache zilizopita kwenye chapisho la blogi kwamba wamegundua udhaifu (CVE-2021-29657) katika msimamizi wa KVM (chanzo wazi cha Linux-msingi hypervisor ambayo inasaidia uboreshaji wa kasi ya vifaa kwenye x86, ARM, PowerPC, na S / 390) hiyo hukuruhusu kuepuka kutengwa kwa mfumo wa wageni na tumia nambari yako kwa upande wa mazingira ya mwenyeji.

Chapisho hilo linataja kuwa shida hudhihirisha kutoka kwa Linux kernel 5.10-rc1 hadi v5.12-rc6, Hiyo ni, inashughulikia punje tu 5.10 na 5.11 (Matawi mengi thabiti ya usambazaji hayakuathiriwa na shida hiyo.) Shida iko katika utaratibu wa nested_svm_vmrun, uliotekelezwa kwa kutumia ugani wa AMD SVM (Salama Virtual Machine) na kuruhusu uzinduzi wa kiota wa mifumo ya wageni.

Katika chapisho hili la blogi, ninaelezea hatari katika nambari maalum ya KVM ya AMD na kujadili jinsi mdudu huyu anaweza kugeuka kuwa kutoroka kamili kwa mashine. Kwa kadiri ninavyojua, hii ni maandishi ya kwanza ya umma ya kuzuka kwa wageni wa mwenyeji wa KVM ambayo haitegemei mende katika vifaa vya nafasi ya mtumiaji kama QEMU.

Mdudu aliyejadiliwa alipewa CVE-2021-29657, huathiri matoleo ya kernel v5.10-rc1 hadi v5.12-rc6, na akapigwa viraka mwishoni mwa Machi 2021. Kama mdudu ulipoanza kutumiwa katika v5.10 na iligundulika miezi 5 baadaye, upelekaji wa ulimwengu halisi wa KVM haupaswi kuathiriwa. Bado nadhani kuwa shida ni kifani cha kupendeza katika kazi inayohitajika kujenga kutoroka kwa wageni-mwenyeji dhidi ya KVM na natumai nakala hii inaweza kufanya kesi kuwa maelewano ya hypervisor sio shida za nadharia tu.

Watafiti wanataja kwamba kwa utekelezaji sahihi wa utendaji huu, msimamizi lazima apate maagizo yote ya SVM endesha kwenye mifumo ya wageni, kuiga tabia yake na kusawazisha serikali na vifaa, ambayo ni kazi ngumu sana.

Baada ya kuchambua utekelezaji uliopendekezwa wa KVM, watafitis wamekutana na hitilafu ya kimantiki ambayo inaruhusu yaliyomo kwenye MSR (Usajili maalum wa Mfano) wa mwenyeji kushawishiwa kutoka kwa mfumo wa wageni, ambayo inaweza kutumika kutekeleza nambari katika kiwango cha mwenyeji.

Hasa, kutekeleza operesheni ya VMRUN kutoka kwa mgeni wa pili wa kiota (L2 iliyozinduliwa kutoka kwa mgeni mwingine) husababisha simu ya pili kwa nested_svm_vmrun na inaharibu muundo wa svm-> nested.hsave, ambayo imefunikwa na data kutoka vmcb kutoka kwa mfumo wa wageni wa L2 .

Kama matokeo, hali inatokea ambapo katika kiwango cha wageni cha L2 inawezekana kutoa kumbukumbu katika muundo wa svm-> nested.msrpm, ambayo huhifadhi kidogo MSR, ingawa inaendelea kutumiwa, na kufikia MSR ya mwenyeji mazingira.

Hii inamaanisha, kwa mfano, kwamba kumbukumbu ya mgeni inaweza kukaguliwa kwa kutupa kumbukumbu iliyotengwa ya mchakato wa nafasi ya mtumiaji au kwamba mipaka ya rasilimali kwa wakati wa CPU na kumbukumbu inaweza kutekelezwa kwa urahisi. 

Kwa kuongeza, KVM inaweza kupakua kazi nyingi zinazohusiana na wivu wa kifaa kwa sehemu ya nafasi ya mtumiaji.

Shida iko kwenye nambari inayotumiwa kwenye mifumo na wasindikaji wa AMD (moduli ya kvm-amd.ko) na haionekani kwa wasindikaji wa Intel.

 Nje ya vifaa kadhaa nyeti vya utendaji vinavyohusiana na usumbufu wa usumbufu, nambari zote ngumu za kiwango cha chini cha kutoa diski halisi, mtandao au ufikiaji wa GPU zinaweza kupelekwa katika nafasi ya mtumiaji.  

Watafiti pamoja na kuelezea shida Wameandaa pia mfano wa kufanya kazi ambayo inaruhusu kuendesha ganda la mizizi kutoka kwa mazingira ya wageni katika mazingira ya mwenyeji kwenye mfumo na processor ya AMD Epyc 7351P na kernel ya Linux 5.10.

Inazingatiwa kuwa huyu ndiye mgeni wa kwanza mwenyeji wa mazingira magumu katika msimamizi wa KVM yenyewe, haihusiani na mende katika vifaa vya nafasi ya mtumiaji kama QEMU. Marekebisho hayo yalikubaliwa kwenye punje mwishoni mwa Machi.

Hatimaye ikiwa una nia ya kujua zaidi juu yake kuhusu barua hiyo, unaweza kuangalia maelezo Katika kiunga kifuatacho.


Yaliyomo kwenye kifungu hicho yanazingatia kanuni zetu za maadili ya uhariri. Kuripoti kosa bonyeza hapa.

Kuwa wa kwanza kutoa maoni

Acha maoni yako

Anwani yako ya barua si kuchapishwa. Mashamba required ni alama na *

*

*

  1. Kuwajibika kwa data: Miguel Ángel Gatón
  2. Kusudi la data: Kudhibiti SpAM, usimamizi wa maoni.
  3. Uhalali: Idhini yako
  4. Mawasiliano ya data: Takwimu hazitawasilishwa kwa watu wengine isipokuwa kwa wajibu wa kisheria.
  5. Uhifadhi wa data: Hifadhidata iliyohifadhiwa na Mitandao ya Occentus (EU)
  6. Haki: Wakati wowote unaweza kupunguza, kuokoa na kufuta habari yako.