Edukiontzitik ihes egiteko aukera ematen duen Docker-en ahultasuna

Isolatutako Linux Docker edukiontziak kudeatzeko tresna-kudeatzailean identifikatu ahultasuna (CVE-2018-15664), eta horrek, egoera jakin batean, edukiontzi batetik ostalari-ingurunera atzitzeko aukera ematen dizu, zure irudiak sisteman abiarazteko gaitasuna baduzu edo martxan dagoen edukiontzi batera sarbidea baduzu. Arazoa Docker-en bertsio guztietan agertzen da eta konpondu gabe jarraitzen du (proposatua, baina oraindik onartu gabea, adabaki, edukiontziaren esekidura ezartzen duena FSrekin eragiketak egiten diren bitartean).

Zaurgarritasunari esker, fitxategiak edukiontzi batetik atera daitezke ostalari-sistemaren fitxategi-sistemaren zati arbitrario batera "docker cp" komandoa exekutatzen denean. Fitxategien erauzketa root eskubideekin egiten da, eta horri esker, ostalari-inguruneko edozein fitxategi irakurtzea edo idaztea posible da, eta hori nahikoa da ostalari-sistemaren kontrola lortzeko (adibidez, /etc/shadow gainidatzi dezakezu).

Erasoa administratzaileak "docker cp" komandoa exekutatzen duenean soilik egin daiteke fitxategiak edukiontzira edo edukiontzitik kopiatzeko. Horrela, erasotzaileak, nolabait, konbentzitu behar du Docker-eko administratzailea eragiketa hau egiteko beharraz eta kopiatzerakoan erabilitako bidea aurreikusi. Bestalde, eraso bat egin daiteke, adibidez, hodeiko zerbitzuek konfigurazio-fitxategiak edukiontzi batean kopiatzeko tresnak eskaintzen dituztenean, "docker cp" komandoa erabiliz eraikia.

Arazoa funtzioaren aplikazioan akats batek eragiten du JarraituSymlinkInScope, fitxategi-sistema nagusiko bide absolutua bide erlatiboaren arabera kalkulatzen duena, edukiontziaren kokapena kontuan hartuta. "Docker cp" komandoa exekutatzen ari zaren bitartean, epe laburrean lasterketa-egoera, zeinetan bidea dagoeneko egiaztatuta dagoen, baina eragiketa oraindik ez da egin. Kopiatzea ostalari-sistemaren fitxategi-sistema nagusiaren testuinguruan egiten denez, denbora-tarte zehatz batean, esteka beste bide batekin ordezkatzea kudeatu dezakezu eta datuak fitxategi-sistemaren kanpoan dagoen toki arbitrario batera kopiatzen has zaitezke. edukiontzi.

Lasterketa baldintza bat gertatzeko denbora-leihoa oso mugatua baita prestatutako batean ustiatu prototipoa Edukiontzi batetik kopia-eragiketak egitean, kasuen % 1 baino gutxiagotan eraso arrakastatsua lortzea posible zen kopia-eragiketan erabilitako bideko lotura sinboliko bat ziklikoki ordezkatuz gero (eraso arrakastatsua gutxi gorabehera 10 segundo saiakeraren ondoren gauzatu zen. fitxategia etengabe kopiatzeko "docker cp" komandoarekin begizta batean).

Edukiontzi batean kopia-eragiketa bat eginez, ostalari-sisteman fitxategiak gainidazteko eraso errepikagarria lor dezakezu iterazio gutxitan. Eraso-aukera edukiontzi batean kopiatzen denean, "chrootarchive" kontzeptua erabiltzen delako da, zeinaren arabera archive.go prozesuak artxiboa erauzten du ez edukiontzi erroaren chroot-era, baizik eta chroot-era. Erasotzaileak kontrolatzen duen xede-bidearen guraso direktorioa, eta ez du edukiontziaren exekuzioa gelditzen (chroot-a lasterketa-baldintzak ustiatzeko seinale gisa erabiltzen da).

Iturria: opennet.ru

Gehitu iruzkin berria