V kompletu orodij za upravljanje izoliranih vsebnikov dockerja Linux ranljivost (), ki vam v določenih okoliščinah omogoča dostop do gostiteljskega okolja iz vsebnika, če imate možnost zagona svojih slik v sistemu ali z dostopom do delujočega vsebnika. Težava se pojavlja v vseh različicah Dockerja in ostaja nepopravljena (predlagana, vendar še ne sprejeta, , ki izvaja obešanje zabojnika med izvajanjem operacij s FS).
Ranljivost omogoča ekstrahiranje datotek iz vsebnika v poljuben del datotečnega sistema gostiteljskega sistema pri izvajanju ukaza »docker cp«. Ekstrakcija datotek se izvaja s korenskimi pravicami, kar omogoča branje ali pisanje poljubnih datotek v gostiteljskem okolju, kar je dovolj za pridobitev nadzora nad gostiteljskim sistemom (na primer, lahko prepišete /etc/shadow).
Napad je mogoče izvesti le, ko skrbnik izvede ukaz »docker cp« za kopiranje datotek v ali iz vsebnika. Tako mora napadalec nekako prepričati skrbnika Dockerja o potrebi po izvedbi te operacije in predvideti pot, uporabljeno pri kopiranju. Po drugi strani pa se napad lahko izvede na primer, ko storitve v oblaku nudijo orodja za kopiranje konfiguracijskih datotek v vsebnik, zgrajena z ukazom “docker cp”.
Težavo povzroča napaka v uporabi funkcije , ki izračuna absolutno pot v glavnem datotečnem sistemu na podlagi relativne poti ob upoštevanju postavitve vsebnika. Med izvajanjem ukaza "docker cp" je kratkotrajna , pri katerem je pot že verificirana, a operacija še ni bila izvedena. Ker se kopiranje izvaja v kontekstu glavnega datotečnega sistema gostiteljskega sistema, lahko v določenem časovnem obdobju zamenjate povezavo z drugo potjo in sprožite kopiranje podatkov na poljubno lokacijo v datotečnem sistemu zunaj posoda.
Ker je časovno okno za nastop dirkalnih pogojev zelo omejeno v pripravljeni Pri izvajanju operacij kopiranja iz vsebnika je bilo mogoče doseči uspešen napad v manj kot 1 % primerov ob ciklični zamenjavi simbolne povezave na poti, uporabljeni v operaciji kopiranja (uspešen napad je bil izveden po približno 10 sekundah poskusov za neprekinjeno kopiranje datoteke v zanki z ukazom »docker cp«).
Z izvajanjem operacije kopiranja v vsebnik lahko dosežete ponovljiv napad s prepisovanjem datotek na gostiteljski sistem v samo nekaj ponovitvah. Možnost napada je posledica dejstva, da se pri kopiranju v vsebnik uporablja koncept "chrootarchive", po katerem proces archive.go ekstrahira arhiv ne v chroot korena vsebnika, temveč v chroot nadrejeni imenik ciljne poti, ki ga nadzira napadalec, in ne ustavi izvajanja vsebnika (chroot se uporablja kot znak za izkoriščanje pogojev tekmovanja).
Vir: opennet.ru
