Runc'i tööriistakomplektis, mida kasutatakse isoleeritud konteinerite kĂ€itamiseks Dockeris ja Kuberneteses, leiti haavatavus CVE-2024-21626, mis vĂ”imaldab pÀÀseda juurde host-ökosĂŒsteemi failisĂŒsteemile isoleeritud konteinerist. RĂŒnnaku kĂ€igus saab rĂŒndaja ĂŒle kirjutada mĂ”ned kĂ€ivitatavad failid host-ökosĂŒsteemis ja seelĂ€bi saavutada oma koodi tĂ€itmine konteinerist vĂ€ljaspool. Runci, cruni ja youki tööfailide kĂ€ideldamisel, samuti LXC-s, probleemi ei esine. Haavatavus on kĂ”rvaldatud runc'i versioonis 1.1.12.
Kui kasutatakse tööriistu Docker vĂ”i Kubernetes, vĂ”ib rĂŒnnak toimuda spetsiaalselt kujundatud konteineri pildi ettevalmistamise kaudu, mille paigaldamisel ja kĂ€ivitamisel on vĂ”imalik konteinerist vĂ€lisele FS-ile juurde pÀÀseda. Dockerit kasutades on vĂ”imalik Ă€ra kasutada spetsiaalselt koostatud Dockerfile'i. Haavatavust saab kasutada ka juhul, kui konteineris kĂ€ivitatakse protsesse kĂ€suga ârunc execâ, sidudes töökausta hosti keskkonna nimede ruumiga.
Haavatavus on pĂ”hjustatud sise-failide deskriptorite lekkimisest. Koodi kĂ€ivitamiseks konteineri sees runc'is suletakse kĂ”ik failide deskriptorid O_CLOEXEC lipu abil. Sellegipoolest jÀÀb pĂ€rast funktsiooni setcwd() kĂ€ivitamist avatuks failide deskriptor, mis viitab töökataloogile ning jÀÀb kergesti kĂ€ttesaadavaks pĂ€rast konteineri kĂ€ivitamist. On ettepanekuid mitmete pĂ”hirĂŒnnakute stsenaariumide kohta host-ökosĂŒsteemi, kasutades avatud failide deskriptorit.
NĂ€iteks vĂ”ib rĂŒndaja konteineripildis sĂ€testada parameetri process.cwd, mis osutab â/proc/self/fd/7/â, mis tulemuseks viib töökausta sidumise konteineris oleva protsessi pid1-ga, mis asub host-keskkonna montaaĆŸiruumi. Seega on konteineripildis vĂ”imalik seadistada kĂ€ivitamine â/proc/self/fd/7/../../../bin/bashâ ja shell-skripti kĂ€ivitamise kaudu kirjutada ĂŒle â/proc/self/exeâ, mis osutab hosti koopiale /bin/bash.
Teine rĂŒnnaku variant vĂ”imaldab kurjategijal, kes on konteineris piiratud, pÀÀseda juurde host-keskkonna kataloogile, kui antud konteineris kĂ€ivitatakse privileeritud protsesse kĂ€suga ârunc execâ koos valikuga ââcwdâ. RĂŒndaja vĂ”ib muuta kĂ€ivitatava protsessi teed sĂŒmboolseks lingiks, mis osutab â/proc/self/fd/7/â ja saavutada â/proc/$exec_pid/cwdâ avamise, et pÀÀseda juurde hosti FS-ile. RĂŒndaja saab ka saavutada kĂ€ivitatavate failide ĂŒlekirjutamise host-keskkonna poole, korraldades kĂ€ivitatava faili kĂ€ivitamise host-keskkonnast (â/proc/self/fd/7/../../../bin/bashâ) ja jĂ€rgnevaga faili â/proc/$pid/exeâ ĂŒle kirjutamise, mis osutab kĂ€ivitatavale failile.
Lisaks on Docker'i tööriistade komponentides leitud veel viis haavatavust:
- CVE-2024-23651 â vĂ”idusĂ”iduring BuildKiti paketis, mida kasutatakse Dockeris lĂ€htekoodi ehitusartefaktideks muutmiseks. Haavatavus on pĂ”hjustatud paralleelselt kĂ€ivitatavates ehitusetappides ĂŒhe ĂŒhise monteerimispunktiga koos vahemĂ€lu (ââmount=type=cache,source=â), mis vĂ”imaldab BuildKiti töötlemisel spetsiaalselt kujundatud Dockerfile'i kaudu saada ehitus konteinerist ligipÀÀsu failidele host-keskkonnas. Haavatavus on kĂ”rvaldatud BuildKitis 0.12.5.
- CVE-2024-23652 â viga tĂŒhjade failide eemaldamisel, mis on loodud monteerimispunkti jaoks koos valikuga ââmountâ, vĂ”imaldab eemaldada faili konteinerist vĂ€lja töötlemisel spetsiaalselt kujundatud Dockerfile'i. Haavatavus on kĂ”rvaldatud BuildKitis 0.12.5.
- CVE-2024-23653 â API rakendamise viga BuildKitis vĂ”imaldab saavutada konteineri kĂ€ivitamist suurenenud privileegidega, vaatamata security.insecure seadistusele. Haavatavus on kĂ”rvaldatud BuildKitis 0.12.5.
- CVE-2024-23650 â pahatahtlik klient vĂ”i BuildKiti front-end vĂ”ib pĂ”hjustada BuildKiti taustaprotsessi kokkuvarisemise. Haavatavus on kĂ”rvaldatud BuildKitis 0.12.5.
- CVE-2024-24557 â vĂ”imalus Moby kassi rĂŒnnata, konteinerite isoleerimise spetsialiseeritud sĂŒsteemide koostamise komponendi kaudu. Spetsiaalselt kujundatud konteineripildi töötlemisel on vĂ”imalik salvestada vahemĂ€lusse andmeid, mida saab kasutada jĂ€rgmistel ehitusetappidel. Haavatavus on kĂ”rvaldatud Moby 25.0.2 ja 24.0.9.
Allikas: opennet.ru
