Isolatsioonikonteinerite kĂ€itamiseks mĂ”eldud runc tööriistakomplektis, mida kasutatakse Dockeris ja Kuberneteses, leiti haavatavus CVE-2024-21626, mis vĂ”imaldab pÀÀseda hostkeskkonna failisĂŒsteemi isolatsiooni konteinerist. RĂŒnnaku kĂ€igus vĂ”ib rĂŒndaja kirjutada ĂŒle mĂ”ned kĂ€ideldavad failid hostkeskkonnas ja seelĂ€bi saavutada oma koodi kĂ€ivitamise konteinerist vĂ€ljaspool. Runci kasutavad runtime'id crun ja youki, samuti LXC, ei esita probleemi. Haavatavus on parandatud runci vĂ€ljaandes 1.1.12.
Docker vĂ”i Kubernetes tööriistade kasutamise korral vĂ”ib rĂŒnnaku teostada, valmistades ette spetsiaalselt kujundatud konteineri pildi, mille pĂ€rast installimist ja kĂ€ivitamist saab konteinerist pöörduda vĂ€lise failisĂŒsteemi poole. Dockeri kasutamisel on vĂ”imalus ekspluateerida spetsiaalselt kujundatud Dockerfile'i kaudu. Haavatavust saab samuti ekspluateerida, kui konteineris kĂ€ivitatakse protsesse kĂ€suga ârunc execâ, sidudes töökatalooge hostkeskkonna nimede ruumi.
Haavatavus tuleneb sisemiste failideskŃОпŃĐŸŃite lekkest. Enne koodi kĂ€ivitamist konteineris runcis suletakse kĂ”ik failideskriptorid, kasutades masti O_CLOEXEC. Siiski jÀÀb pĂ€rast setcwd() funktsiooni tĂ€itmist avatud failideskriptor, mis osutab töökataloogile ja jÀÀb kĂ€ttesaadavaks pĂ€rast konteineri kĂ€ivitamist. On pakutud mitmeid pĂ”hisisuliniseerimisseenariume hostkeskkonna suhtes, kasutades allesjÀÀnud failideskriptorit.
NĂ€iteks vĂ”ib rĂŒndaja mÀÀrata konteineri pildis parameetri process.cwd, mis osutab â/proc/self/fd/7/â, mis toob kaasa töötava katalooge sidumise konteineri pid1 protsessiga, mis asub hostkeskkonna mount-ruumis. SeelĂ€bi saab konteineri pildis seadistada kĂ€ivitama â/proc/self/fd/7/../../../bin/bashâ ning shell-skripti tĂ€itmise kaudu on vĂ”imalik kirjutada ĂŒle â/proc/self/exeâ sisu, mis osutab hosti koopiale /bin/bash.
Teine rĂŒnnaku variant vĂ”imaldab siseruumis olevatel kurjategijatel pÀÀseda hostikeskkonna katalooge, kui antud konteineris kĂ€ivitatakse privileegidega protsesse kĂ€su ârunc execâ abil valikuga ââcwdâ. RĂŒndaja saab kĂ€ivitatava protsessi tee asendada sĂŒmboolsete linkidega, viidates â/proc/self/fd/7/â ja saavutada â/proc/$exec_pid/cwdâ avamise, et pÀÀseda juurde hostipoolsele failisĂŒsteemile. RĂŒndaja vĂ”ib samuti saavutada kĂ€ivitatavate failide kirjutamise hostikeskkonna kaudu, kĂ€ivitades kĂ€ivitatava faili hostikeskkonnast (â/proc/self/fd/7/../../../bin/bashâ), millele jĂ€rgneb faili â/proc/$pid/exeâ kirjutamine, mis viitab kĂ€ivitatud failile.
Lisaks on Docker'i tööriistakomponentides tuvastatud veel viis haavatavust:
- CVE-2024-23651 â vĂ”istlusolukord BuildKiti paketis, mida kasutatakse Dockeris lĂ€htekoodi kompileerimise artefaktide loomiseks. Haavatavus tuleneb paralleelselt kĂ€ivitatavates ehitusetappides sama ĂŒldise monteerimispunkti kasutamisest koos vahefailide (ââmount=type=cache,source=â) kĂ”igi juurdepÀÀsudega, mis vĂ”imaldab BuildKiti töötlemisel spetsiaalset Dockerfile'i kaudu juurdepÀÀsu hostikeskkonna failidele. Haavatavus on kĂ”rvaldatud BuildKitis 0.12.5.
- CVE-2024-23652 â tĂŒhjade failide kustutamise viga, mis on loodud monteerimispunktide jaoks ââmountâ valikuga, vĂ”imaldab kustutada faili konteinerist vĂ€ljaspool töötlemise ajal spetsiaalselt kujundatud Dockerfile'i. Haavatavus on kĂ”rvaldatud BuildKitis 0.12.5.
- CVE-2024-23653 â API rakendamise viga BuildKitis vĂ”imaldab konteinerit kĂ€ivitada kĂ”rgendatud Ă”igustega, hoolimata security.insecure seadistuste seisundist. Haavatavus on kĂ”rvaldatud BuildKitis 0.12.5.
- CVE-2024-23650 â pahatahtlik klient vĂ”i BuildKiti frontend vĂ”ib pĂ”hjustada BuildKit'i taustprotsessi kokkuvarisemise. Haavatavus on kĂ”rvaldatud BuildKitis 0.12.5.
- CVE-2024-24557 â rĂŒnnaku vĂ”imalus Moby kasti kaaneseisundisse, mis on konteinerite isoleerimise spetsialiseeritud sĂŒsteemide koostamise komponent. Spetsiaalselt kujundatud konteineripildi töötlemisel on vĂ”imalik salvestada andmeid mĂ€llu, mida saab kasutada jĂ€rgmistel ehitusetappidel. Haavatavus on kĂ”rvaldatud Moby 25.0.2 ja 24.0.9.
Allikas: opennet.ru
