Dockeri haavatavus, mis võimaldab teil konteinerist põgeneda

Tööriistakomplektis isoleeritud Linuxi dokkeri konteinerite haldamiseks tuvastatud haavatavus (CVE-2018-15664), mis teatud tingimustel võimaldab teil konteinerist juurdepääsu hostikeskkonnale, kui teil on võimalus käivitada oma pildid süsteemis või juurdepääsuga töötavale konteinerile. Probleem ilmneb kõigis Dockeri versioonides ja jääb parandamata (pakutud, kuid pole veel vastu võetud, plaaster, mis rakendab FS-iga toimingute tegemise ajal konteineri riputamist).

See haavatavus võimaldab käsu "docker cp" täitmisel ekstraktida konteinerist faile hostisüsteemi failisüsteemi suvalisesse ossa. Failide ekstraktimine toimub juurõigustega, mis võimaldab lugeda või kirjutada mis tahes faile hostikeskkonnas, millest piisab hostsüsteemi kontrolli saamiseks (näiteks saate /etc/shadow üle kirjutada).

Rünnaku saab läbi viia ainult siis, kui administraator täidab failide konteinerisse või konteinerist kopeerimiseks käsu "docker cp". Seega peab ründaja kuidagi veenma Dockeri administraatorit selle toimingu tegemise vajaduses ja ennustama kopeerimisel kasutatavat teed. Teisest küljest saab rünnata näiteks siis, kui pilveteenused pakuvad tööriistu konfiguratsioonifailide kopeerimiseks konteinerisse, mis on ehitatud käsuga "docker cp".

Probleemi põhjuseks on rike funktsiooni rakenduses Järgige SymlinkInScope'i, mis arvutab suhtelise tee põhjal absoluutse tee põhifailisüsteemis, võttes arvesse konteineri paigutust. Käsu "docker cp" täitmisel on lühiajaline rassi seisukord, milles tee on juba kontrollitud, kuid toimingut pole veel tehtud. Kuna kopeerimine toimub hostsüsteemi põhifailisüsteemi kontekstis, saate kindlaksmääratud aja jooksul lingi asendada mõne muu teega ja alustada andmete kopeerimist failisüsteemis suvalisesse asukohta väljaspool süsteemi. konteiner.

Kuna ajaaken võistlustingimuste ilmnemiseks on ettevalmistatud tingimustes väga piiratud prototüüpi ära kasutada Konteinerist kopeerimistoimingute tegemisel õnnestus kopeerimisoperatsioonis kasutatud tee sümboolse lingi tsüklilisel asendamisel saavutada edukas rünnak vähem kui 1% juhtudest (edukas rünnak viidi läbi umbes 10-sekundilise katse järel faili pidevaks kopeerimiseks tsüklina käsuga "docker cp").

Tehes kopeerimistoimingu konteinerisse, saate vaid mõne iteratsiooniga saavutada hostisüsteemi vastu korratava faili ülekirjutamise rünnaku. Rünnakuvõimalus tuleneb sellest, et konteinerisse kopeerimisel kasutatakse “chrootarchive” kontseptsiooni, mille kohaselt archive.go protsess ekstraheerib arhiivi mitte konteineri juure, vaid konteineri juure chrooti. ründaja juhitav sihttee emakataloog ja ei peata konteineri täitmist (chrooti kasutatakse võidusõidutingimuste ärakasutamise märgina).

Allikas: opennet.ru

Lisa kommentaar