Осебпазирӣ дар Docker, ки ба шумо имкон медиҳад, ки аз контейнер гурезед

Дар асбобҳо барои идоракунии контейнерҳои ҷудошудаи Linux Docker муайян карда шуд осебпазирӣ (CVE-2018-15664), ки дар як маҷмӯи муайяни ҳолатҳо ба шумо имкон медиҳад, ки ба муҳити мизбон аз контейнер дастрасӣ пайдо кунед, агар шумо қобилияти оғоз кардани тасвирҳои худро дар система ё бо дастрасӣ ба контейнери иҷрошаванда дошта бошед. Мушкилот дар ҳама версияҳои Docker пайдо мешавад ва ҳалнашуда боқӣ мемонад (пешниҳод шудааст, аммо ҳанӯз қабул нашудааст, часпондан, ки боздоштани контейнерро ҳангоми иҷрои амалиёт бо ФС) амалӣ мекунад.

Ин осебпазирӣ имкон медиҳад, ки ҳангоми иҷрои фармони "docker cp" файлҳо аз контейнер ба қисми ихтиёрии системаи файлии системаи ҳост истихроҷ карда шаванд. Истихроҷи файл бо ҳуқуқи реша иҷро карда мешавад, ки имкон медиҳад хондан ё навиштани ҳама гуна файлҳо дар муҳити ҳост, ки барои ба даст овардани назорати системаи ҳост кифоя аст (масалан, шумо метавонед /etc/shadow-ро аз нав нависед).

Ҳамла танҳо вақте анҷом дода мешавад, ки маъмур фармони "docker cp" -ро барои нусхабардории файлҳо ба контейнер ё аз контейнер иҷро кунад. Ҳамин тариқ, ҳамлакунанда бояд бо ягон роҳ маъмури Docker-ро ба зарурати иҷрои ин амал бовар кунонад ва роҳеро, ки ҳангоми нусхабардорӣ истифода мешавад, пешгӯӣ кунад. Аз тарафи дигар, ҳамла метавонад анҷом дода шавад, масалан, вақте ки хидматҳои абрӣ асбобҳоро барои нусхабардории файлҳои конфигуратсия ба контейнере пешниҳод мекунанд, ки бо истифода аз фармони "docker cp" сохта шудаанд.

Мушкилот аз сабаби камбудӣ дар татбиқи функсия ба вуҷуд омадааст FollowSymlinkInScope, ки роҳи мутлақро дар системаи файлии асосӣ дар асоси роҳи нисбӣ бо назардошти ҷойгиркунии контейнер ҳисоб мекунад. Ҳангоми иҷрои фармони "docker cp", кӯтоҳмуддат ҳолати мусобиқа, ки дар он роҳ аллакай санҷида шудааст, аммо амалиёт ҳанӯз иҷро нашудааст. Азбаски нусхабардорӣ дар контексти системаи файлии асосии системаи ҳост анҷом дода мешавад, дар муддати муайяншуда шумо метавонед истинодро бо роҳи дигар иваз кунед ва нусхабардории маълумотро ба макони ихтиёрии системаи файлии берун аз он оғоз кунед. контейнер.

Азбаски равзанаи вақт барои як ҳолати мусобиқа дар як омода хеле маҳдуд аст прототипи истисмор Ҳангоми иҷрои амалиёти нусхабардорӣ аз контейнер, дар камтар аз 1% ҳолатҳо ҳангоми ба таври даврӣ иваз кардани пайванди рамзӣ дар роҳе, ки дар амалиёти нусхабардорӣ истифода мешавад, ҳамлаи бомуваффақият ба даст овардан мумкин буд (ҳамла бомуваффақият пас аз тақрибан 10 сонияи кӯшиш анҷом дода шуд). барои пайваста нусхабардории файл дар як давр бо фармони "docker cp").

Бо анҷом додани амалиёти нусхабардорӣ дар контейнер, шумо метавонед ҳамлаи такроршавандаи барнавнависии файлро ба системаи ҳост танҳо дар чанд такрор ба даст оред. Эҳтимоли ҳамла ба он вобаста аст, ки ҳангоми нусхабардорӣ ба контейнер мафҳуми “chrootarchive” истифода мешавад, ки мувофиқи он раванди archive.go архивро на ба chroot решаи контейнер, балки ба chroot решаи контейнер хориҷ мекунад. директорияи волидайни роҳи ҳадаф, ки аз ҷониби ҳамлакунанда идора карда мешавад ва иҷрои контейнерро қатъ намекунад (chroot ҳамчун аломати истифода аз шароити мусобиқа истифода мешавад).

Манбаъ: opennet.ru

Илова Эзоҳ