У комплету алата за управљање изолованим Линук Доцкер контејнерима рањивост (), који вам, под одређеним скупом околности, омогућава приступ окружењу домаћина из контејнера ако имате могућност да покренете своје слике на систему или са приступом покренутом контејнеру. Проблем се појављује у свим верзијама Доцкер-а и остаје нерешен (предложен, али још увек није прихваћен, , који имплементира суспензију контејнера при извођењу операција са ФС).
Рањивост омогућава да се датотеке екстрахују из контејнера у произвољни део система датотека хост система приликом извршавања команде „доцкер цп“. Екстракција фајла се врши са роот правима, што омогућава читање или писање било које датотеке у окружењу домаћина, што је довољно за добијање контроле над хост системом (на пример, можете преписати /етц/схадов).
Напад се може извести само када администратор изврши команду „доцкер цп“ за копирање датотека у или из контејнера. Дакле, нападач мора некако да убеди Доцкер администратора у потребу да изврши ову операцију и предвиди путању која се користи приликом копирања. С друге стране, напад се може извести, на пример, када услуге у облаку обезбеде алате за копирање конфигурационих датотека у контејнер, изграђен помоћу команде „доцкер цп“.
Проблем је узрокован грешком у примени функције , који израчунава апсолутну путању у главном систему датотека на основу релативне путање, узимајући у обзир постављање контејнера. Приликом извршавања команде "доцкер цп", краткорочно , у којој је путања већ верификована, али операција још није обављена. Пошто се копирање врши у контексту главног система датотека главног система, у одређеном временском периоду, можете успети да замените везу другом путањом и започнете копирање података на произвољну локацију у систему датотека ван контејнер.
Пошто је временски оквир за настанак стања трке веома ограничен у припремљеном Приликом извођења операција копирања из контејнера, било је могуће постићи успешан напад у мање од 1% случајева цикличном заменом симболичке везе на путањи која се користи у операцији копирања (успешан напад је изведен након отприлике 10 секунди покушаја да непрекидно копирате датотеку у петљи помоћу команде „доцкер цп“).
Извођењем операције копирања у контејнер, можете постићи поновљиви напад преписивања датотеке на систем домаћина у само неколико итерација. Могућност напада је због чињенице да се приликом копирања у контејнер користи концепт „цхроотарцхиве“, према којем процес арцхиве.го извлачи архиву не у цхроот корена контејнера, већ у цхроот корена контејнера. родитељски директоријум циљне путање, који контролише нападач, и не зауставља извршавање контејнера (цхроот се користи као знак за искоришћавање услова трке).
Извор: опеннет.ру
