在管理隔離 Linux Docker 容器的工具包中
此漏洞允許在執行“docker cp”命令時將檔案從容器提取到主機系統檔案系統的任意部分。 文件提取是使用 root 權限執行的,這使得可以讀取或寫入主機環境中的任何文件,這足以獲得對主機系統的控制權(例如,您可以覆蓋 /etc/shadow)。
只有當管理員執行“docker cp”命令將檔案複製到容器或從容器中複製檔案時,才能進行攻擊。 因此,攻擊者需要以某種方式說服 Docker 管理員需要執行此操作並預測複製時使用的路徑。 另一方面,例如,當雲端服務提供將設定檔複製到使用「docker cp」命令建置的容器中的工具時,就可以進行攻擊。
該問題是由於函數應用有缺陷引起的
由於競爭條件發生的時間窗口在準備好的情況下是非常有限的
透過對容器執行複製操作,您只需幾次迭代即可在主機系統上實現可重複的檔案覆蓋攻擊。 攻擊的可能性是由於複製到容器時使用了「chrootarchive」概念,根據該概念,archive.go 進程不會將存檔提取到容器根目錄的 chroot 中,而是提取到容器根目錄的 chroot 中。目標路徑的父目錄,由攻擊者控制,並且不會停止容器的執行(chroot用作利用競爭條件的標誌)。
來源: opennet.ru