Docker CopyEscape Vulnerability Enables Host File Overwrite and Root Code Execution
2026/08/12 gbhackers — Docker に存在する、深刻な脆弱性 CVE-2026-17106 は CopyEscape と呼ばれている。広く利用されている docker cp コマンドを使用する際に、この脆弱性により、悪意のあるコンテナからホスト・システム上のファイルの上書きが可能になる。ローカル・ユーザーの権限でコードが実行され、昇格された権限でコピー操作が実行される Linux システムでは、この欠陥により root 権限でのコード実行が引き起こされる可能性もある。

Docker CopyEscape 脆弱性
問題の原因は、Docker のコンテナからホストへのアーカイブ・コピー・ワークフローにあり、Imperva Threat Research の研究者により特定された。
この脆弱性が、Docker Sandboxes で使用されるコピー・ユーティリティ sbx cp にも影響を及ぼすことが、Docker により確認されている。この問題は、ユーザーが攻撃者の制御下にあるコンテナ/サンドボックスからファイルをコピーする際に発生する。
通常のコマンドである "docker cp container:/file.txt ./file.txt" などにより、ユーザーが指定したコピー先だけに書き込みが行われるように設計されている。しかし、Docker は単純な直接ファイル・コピーを実行しているわけではない。
そのプロセスにおいて、要求されたコンテナ・ファイルをデーモンが tar アーカイブへパッケージ化し、その後に Docker CLI によりローカル・マシン上で展開される。CopyEscape の手法では、このプロセスの両方に存在する弱点が悪用される。
1 つ目の弱点は、Docker がアーカイブを構築している間に、攻撃者は稼働中のコンテナのファイル・システムを操作できることにある。Docker のアーカイブ処理ルーチンは、同一のパスを複数回検査する。最初はディレクトリに関する判定であり、その後に tar メタデータの作成が行われる。
稼働中のコンテナは、これらの検査の間に対象パスを変更できるため、矛盾したファイル・システム状態を記述するアーカイブが生成される可能性がある。
たとえば、Docker がオブジェクトをディレクトリとして識別した場合、攻撃者はアーカイブのメタデータ作成が完了する前に、そのオブジェクトをシンボリック・リンクへ置き換える可能性がある。
その結果、アーカイブにはシンボリック・リンクのエントリと、そのシンボリック・リンク配下に存在するとされる子ファイルが続けて格納される可能性がある。
2つ目の弱点は、ホスト・システム上での展開時に発生する。Docker CLI はパスを構築することでシンボリック・リンクのターゲットを検証しようとするが、最終的には、攻撃者が制御する元のアーカイブ値を使用してシンボリック・リンクを作成する。
この不一致により、絶対パスのシンボリック・リンクが、本来のコピー先ディレクトリの外部を指すことが可能になる。
Docker が対象となるシンボリック・リンクを介して子エントリを展開すると、オペレーティング・システムがリンクを解決し、docker cp を実行しているユーザーがアクセス可能なホスト上の任意のパスへ、攻撃者のファイルを書き込む。macOS では、Docker Desktop の Linux 仮想マシン内ではなくホスト上で、この展開処理が実行される。
攻撃者が可能にするものとしては、シェル起動ファイル/SSH コンフィグ/クラウド・クレデンシャル/ソース・コード/実行ファイル/LaunchAgent の永続化ファイルなどの、重要なファイルに対する上書きが挙げられる。たとえば、改変されたシェルのコンフィグ・ファイルにより、被害者が次回ターミナルを開いた際に、悪意のコマンドが実行される可能性がある。
Linux 環境では、さらに深刻なリスクに直面する。特に Admin/継続的インテグレーション (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 権限でのコピーの自動化を避けることだ。また、不審なコンテナを分析する際には、使い捨ての仮想マシンや低権限のアカウントを使用すべきである。
コンテナ仮想化技術である Docker で、ファイル転送処理の脆弱性 CVE-2026-17106 が発見されました。稼働中の環境からアーカイブを抽出/展開する際のパス検証不足に起因し、悪意あるデータを転送した際にホスト側の領域外ファイルが上書きされ、最悪の場合は管理者権限の奪取につながる恐れがあります。このソフトウェアはビルドの自動化や開発基盤として幅広く活用されているため、信頼できないデータを扱う現場での影響が懸念されます。対策として、安全なバージョンへの更新/稼働状態でのファイル抽出回避/作業用一時環境の分離/実行権限の最適化が挙げられます。システムを安全に利用するためにも、対象ソフトウェアの迅速なアップデートが推奨されます。

You must be logged in to post a comment.