「CopyEscape」と呼ばれるDockerの深刻な脆弱性(CVE-2026-17106として追跡)により、悪意あるコンテナが広く利用されている`docker cp`コマンドを使ってホストシステム上のファイルを上書きできることが判明しました。
脆弱性評価サービス
この欠陥は、コピー操作が昇格した権限で実行されるLinuxシステムにおいて、ローカルユーザー権限、場合によってはroot権限でのコード実行につながる可能性があります。
Docker CopyEscape脆弱性
Imperva Threat Researchの研究者らは、Dockerのコンテナからホストへのアーカイブコピー処理のワークフローにこの問題を発見しました。Dockerは、この脆弱性がDocker Sandboxesで使用されるコピーユーティリティ`sbx cp`にも影響することを確認しています。問題は、ユーザーが攻撃者に制御されたコンテナやサンドボックスからファイルをコピーしようとした際に発生します。
通常、`docker cp container:/file.txt ./file.txt`のようなコマンドは、ユーザーが指定した宛先にのみ書き込むよう設計されています。しかし、Dockerは単純な直接ファイルコピーを行っているわけではありません。
実際には、Dockerデーモンは要求されたコンテナ内のファイルをtarアーカイブにまとめ、Docker CLIがそれをローカルマシン上で展開します。CopyEscapeは、この処理の両方の段階に存在する弱点を悪用します。
まず、攻撃者はDockerがアーカイブを構築している間に、稼働中のコンテナのファイルシステムを操作することができます。Dockerのアーカイブ処理ルーチンは、あるパスを複数回検査します。最初にそれがディレクトリかどうかを判定し、その後改めてtarメタデータを作成する際にも検査します。

稼働中のコンテナは、これらの検査の間にそのパスを変更できるため、結果として矛盾したファイルシステムの状態を示すアーカイブが生成されてしまいます。
例えば、Dockerが最初にあるオブジェクトをディレクトリと認識した場合、攻撃者はアーカイブのメタデータが完成する前にそれをシンボリックリンクに置き換えることができます。
その結果、アーカイブにはシンボリックリンクのエントリと、そのシンボリックリンクの下に存在するはずの子ファイルのエントリが含まれてしまう可能性があります。
2つ目の弱点は、ホストシステム上での展開時に発生します。Docker CLIはパスを構築してシンボリックリンクの参照先を検証しようとしますが、最終的には攻撃者が制御する元のアーカイブの値を使ってシンボリックリンクを作成してしまいます。
この食い違いにより、絶対パスのシンボリックリンクが本来の宛先ディレクトリの外を指すことが可能になります。
Dockerがそのシンボリックリンク経由で子エントリを展開すると、OSがリンクを解決し、`docker cp`を実行しているユーザーがアクセス可能なホスト上の任意のパスに攻撃者のファイルを書き込みます。macOSでは、この展開処理はDocker DesktopのLinux仮想マシン内ではなく、ホスト側で行われます。
攻撃者は、シェルの起動ファイルやSSH設定、クラウドの認証情報、ソースコード、実行ファイル、LaunchAgentの永続化ファイルなど、重要なファイルを上書きできる可能性があります。改変されたシェル設定ファイルは、被害者が次にターミナルを開いた際に悪意あるコマンドを実行する可能性があります。
Linux環境はさらに深刻なリスクに直面します。特に、管理者やCI(継続的インテグレーション)ワーカー、自動化ツールが`sudo docker cp`を実行する場合です。
Impervaは、`/usr/bin/runc`を攻撃者が制御するスクリプトに置き換えることで、後続のDocker操作の段階でroot権限でのコード実行につながることを実証しました。
この脆弱性は、Dockerデーモンを通じて直接root権限を付与するものではなく、ローカルのコピーコマンドにすでに与えられている権限を悪用するものです。
潜在的な影響は、開発者環境、CI/CDインフラ、インシデント対応ワークフロー、AIエージェントのサンドボックス環境にとって大きなものとなります。信頼できないコンテナからログやビルド成果物、フォレンジック証拠、生成されたコードを単に取得するだけでも、ホストシステム上での上書きが引き起こされる可能性があります。
Dockerユーザーには、Docker EngineおよびCLIをバージョン29.7.2以降に、Docker Desktopをバージョン4.86.0以降にアップグレードすることが推奨されています。
パッチが適用されるまでの間、組織は稼働中または信頼できないコンテナからのファイルコピーを控え、取得前にコンテナを停止し、root権限でのコピー自動化を避け、疑わしいコンテナを分析する際には使い捨ての仮想マシンや低権限アカウントを使用することが求められます。
新たなフィッシングやマルウェアが貴社を侵害する前に阻止しましょう。 世界15,000のSOCからのライブインテリジェンスを統合
アンチウイルス& マルウェア
翻訳元: https://gbhackers.com/docker-copyescape-vulnerability/