Ipalara kan ni KVM ngbanilaaye ipaniyan koodu ni ita eto alejo lori awọn onise AMD

Awọn oniwadi lati inu Google Project Zero egbe ti ṣafihan ni awọn ọjọ diẹ sẹhin ni ipolowo bulọọgi pe ti ṣe idanimọ ipalara kan (CVE-2021-29657) ni hypervisor KVM (orisun ṣiṣi Linux ti o da lori orisun Linux ti o ṣe atilẹyin agbara isare agbara ti hardware lori x86, ARM, PowerPC, ati S / 390) ti gba ọ laaye lati yago fun ipinya ti eto alejo ati ṣiṣe koodu rẹ ni ẹgbẹ agbegbe ti gbalejo.

Ifiranṣẹ naa nmẹnuba pe iṣoro naa farahan lati inu ekuro Linux 5.10-rc1 si v5.12-rc6, iyẹn ni, bo awọn ekuro nikan 5.10 ati 5.11 (Pupọ ninu awọn ẹka iduroṣinṣin ti awọn kaakiri ko ni ipa nipasẹ iṣoro naa.) Iṣoro naa wa ni sisẹ nested_svm_vmrun, ti a ṣe ni lilo lilo itẹsiwaju AMD SVM (Ẹrọ Alaabo Alaabo) ati gbigba ifilọlẹ itẹ-ẹiyẹ ti awọn eto alejo.

Ninu ifiweranṣẹ bulọọgi yii, Mo ṣe apejuwe ipalara kan ninu koodu KVM-kan pato AMD ati ijiroro lori bi kokoro yii ṣe le yipada si abayọ ẹrọ foju pipe. Gẹgẹ bi mo ti mọ, eyi ni kikọ akọkọ ti gbogbo eniyan ti breakout KVM alejo-si-gbalejo ti ko gbẹkẹle awọn idun ni awọn paati aaye olumulo bi QEMU.

A sọ kokoro ti a jiroro sọtọ CVE-2021-29657, yoo ni ipa lori awọn ẹya ekuro v5.10-rc1 si v5.12-rc6, ati pe o ti patched ni ipari Oṣu Kẹta Ọjọ 2021. Bii kokoro nikan ti jẹ lilo ni v5.10 ati pe o ti ṣe awari nipa oṣu marun 5 lẹhinna, ọpọlọpọ awọn imuṣiṣẹ KVM gidi-aye ko yẹ ki o kan. Mo tun ronu pe iṣoro naa jẹ iwadii ọran ti o nifẹ ninu iṣẹ ti o nilo lati kọ abayọ alejo-si-gbalejo iduroṣinṣin lodi si KVM ati pe Mo nireti pe nkan yii le ṣe ọran naa pe awọn adehun adehun hypervisor kii ṣe awọn iṣoro ti ẹkọ nikan.

Awọn oniwadi darukọ pe fun imuse ti o tọ fun iṣẹ yii, hypervisor gbọdọ ṣaja gbogbo awọn ilana SVM ṣiṣe lori awọn eto alejo, farawe ihuwasi rẹ ki o muuṣiṣẹpọ ipinlẹ pẹlu hardware, eyiti o jẹ iṣẹ ṣiṣe ti o nira.

Lẹhin atupalẹ igbero KVM ti a dabaa, awọn oluwadi naas ṣe aṣiṣe aṣiṣe kan ti o fun laaye akoonu ti MSR (Iforukọsilẹ awoṣe-awoṣe) ti olugbalejo ni ipa lati eto alejo, eyi ti o le lo lati ṣe koodu ni ipele ogun.

Ni pataki, ṣiṣe iṣẹ VMRUN lati alejo ipele itẹ-ẹiyẹ keji (L2 ti a ṣe ifilọlẹ lati ọdọ alejo miiran) nyorisi ipe keji si nested_svm_vmrun ati ibajẹ ilana svm-> nested.hsave, eyiti o bori pẹlu data lati vmcb lati eto alejo L2 .

Gẹgẹbi abajade, ipo kan waye nibiti o wa ni ipele alejo L2 o ṣee ṣe lati ṣe iranti ọfẹ ni eto svm-> nested.msrpm, eyiti o tọju MSR bit, botilẹjẹpe o tẹsiwaju lati lo, ati wọle si MSR ti agbalejo ayika.

Eyi tumọ si, fun apẹẹrẹ, pe a le ṣe iranti iranti alejo nipasẹ dida iranti ti a ti sọtọ ti ilana aaye olumulo rẹ tabi awọn ifilelẹ awọn orisun fun akoko Sipiyu ati iranti le ṣee ṣe ni rọọrun. 

Ni afikun, KVM le ṣe ikojọpọ julọ ti iṣẹ ti o ni ibatan si imulation ẹrọ si paati aaye olumulo.

Iṣoro naa wa ninu koodu ti a lo lori awọn ọna ṣiṣe pẹlu awọn onise AMD (kvm-amd.ko module) ati pe ko han loju awọn onise Intel.

 Ni ita tọkọtaya ti awọn ẹrọ ti o ni ifọkansi iṣẹ ti o n ṣe pẹlu mimu idalọwọduro, gbogbo koodu ipele kekere ti eka fun ipese disiki foju, nẹtiwọọki, tabi iraye si GPU ni a le fi ranṣẹ ni aaye olumulo.  

Awọn oniwadi ni afikun si apejuwe iṣoro naa Wọn ti pese imurasilẹ iṣẹ ṣiṣe ti ilokulo kan eyiti ngbanilaaye ṣiṣe ikarahun gbongbo kan lati agbegbe alejo ni agbegbe ogun lori eto pẹlu ero isise AMD Epyc 7351P ati ekuro Linux 5.10 kan.

O ṣe akiyesi pe eyi ni alejo akọkọ lati gbalejo ipalara ninu KVM hypervisor funrararẹ, ko ni ibatan si awọn idun ninu awọn paati aaye olumulo bi QEMU. A gba atunṣe ni ekuro ni opin Oṣu Kẹta.

Níkẹyìn ti o ba nifẹ lati mọ diẹ sii nipa rẹ nipa akọsilẹ, o le ṣayẹwo awọn alaye naa Ni ọna asopọ atẹle.


Awọn akoonu ti nkan naa faramọ awọn ilana wa ti awọn ilana olootu. Lati jabo aṣiṣe kan tẹ nibi.

Jẹ akọkọ lati sọ ọrọ

Fi ọrọ rẹ silẹ

Adirẹsi imeeli rẹ yoo ko le ṣe atejade. O beere aaye ti wa ni samisi pẹlu *

*

*

  1. Lodidi fun data naa: Miguel Ángel Gatón
  2. Idi ti data naa: SPAM Iṣakoso, iṣakoso ọrọ asọye.
  3. Ofin: Iyọọda rẹ
  4. Ibaraẹnisọrọ data: Awọn data kii yoo ni ifọrọhan si awọn ẹgbẹ kẹta ayafi nipasẹ ọranyan ofin.
  5. Ibi ipamọ data: Alaye data ti o gbalejo nipasẹ Awọn nẹtiwọọki Occentus (EU)
  6. Awọn ẹtọ: Ni eyikeyi akoko o le ni opin, gba pada ki o paarẹ alaye rẹ.