Docker ievainojamība, kas ļauj izkļūt no konteinera

RÄ«kkopā izolētu Linux Docker konteineru pārvaldÄ«bai identificēts ievainojamÄ«ba (CVE-2018-15664), kas noteiktos apstākļos ļauj piekļūt resursdatora videi no konteinera, ja jums ir iespēja palaist attēlus sistēmā vai ar piekļuvi esoÅ”am konteineram. Problēma parādās visās Docker versijās un joprojām nav novērsta (ierosināta, bet vēl nav pieņemta, plāksteris, kas Ä«steno konteinera apturēŔanu, veicot darbÄ«bas ar FS).

IevainojamÄ«ba ļauj izvilkt failus no konteinera uz patvaļīgu resursdatora sistēmas failu sistēmas daļu, izpildot komandu ā€œdocker cpā€. Failu izvilkÅ”ana tiek veikta ar root tiesÄ«bām, kas ļauj nolasÄ«t vai rakstÄ«t jebkurus failus resursdatora vidē, kas ir pietiekami, lai iegÅ«tu kontroli pār resursdatora sistēmu (piemēram, jÅ«s varat pārrakstÄ«t /etc/shadow).

Uzbrukumu var veikt tikai tad, kad administrators izpilda komandu ā€œdocker cpā€, lai kopētu failus uz konteineru vai no tā. Tādējādi uzbrucējam kaut kādā veidā jāpārliecina Docker administrators par nepiecieÅ”amÄ«bu veikt Å”o darbÄ«bu un paredzēt kopēŔanas ceļu. No otras puses, uzbrukums var tikt veikts, piemēram, kad mākoņpakalpojumi nodroÅ”ina rÄ«kus konfigurācijas failu kopēŔanai konteinerā, kas izveidots, izmantojot komandu ā€œdocker cpā€.

Problēmu izraisa kļūdas funkcijas pielietojumā Sekojiet SymlinkInScope, kas aprēķina absolÅ«to ceļu galvenajā failu sistēmā, pamatojoties uz relatÄ«vo ceļu, ņemot vērā konteinera izvietojumu. Izpildot komandu "docker cp", Ä«stermiņa sacensÄ«bu stāvoklis, kurā ceļŔ jau ir pārbaudÄ«ts, bet operācija vēl nav veikta. Tā kā kopēŔana tiek veikta resursdatora sistēmas galvenās failu sistēmas kontekstā, noteiktā laika periodā varat nomainÄ«t saiti ar citu ceļu un uzsākt datu kopēŔanu uz patvaļīgu vietu failu sistēmā ārpus konteiners.

Tā kā laika logs sacÄ«kÅ”u apstāklim ir ļoti ierobežots sagatavotajā izmantot prototipu Veicot kopēŔanas darbÄ«bas no konteinera, veiksmÄ«gu uzbrukumu izdevās panākt mazāk nekā 1% gadÄ«jumu, cikliski aizstājot simbolisko saiti kopēŔanas operācijā izmantotajā ceļā (veiksmÄ«gais uzbrukums tika veikts pēc aptuveni 10 sekunžu mēģinājumiem lai nepārtraukti kopētu failu ciklā ar komandu ā€œdocker cpā€).

Veicot kopēŔanas darbÄ«bu konteinerā, jÅ«s varat panākt atkārtojamu failu pārrakstīŔanas uzbrukumu resursdatora sistēmai tikai dažās iterācijās. Uzbrukuma iespēja ir saistÄ«ta ar to, ka, kopējot konteinerā, tiek izmantots ā€œchrootarchiveā€ jēdziens, saskaņā ar kuru archive.go process izvelk arhÄ«vu nevis konteinera saknes chroot, bet gan konteinera saknes chroot. mērÄ·a ceļa vecākdirektorijs, ko kontrolē uzbrucējs, un tas neaptur konteinera izpildi (chroot tiek izmantots kā zÄ«me, lai izmantotu sacensÄ«bu apstākļus).

Avots: opennet.ru

Pievieno komentāru