速報

日本郵便UGXの送り状システムにサイバー攻撃 越境EC配送は全宛先で停止

CATEGORY

Docker DesktopのWSL 2で隔離回避を修正|両方の更新と再起動後の確認を

※本ページのリンクにはプロモーションが含まれています。

ノートPC上でLinuxコンテナとホストのファイル領域が分かれ、双方に更新マークが付いているイラスト

この記事のポイント

脆弱性
CVE-2026-112917
深刻度

CRITICAL9.2

対象
Windows版Docker Desktop(x86-64、WSL 2バックエンド)
悪用状況
不明
推奨対応
Docker Desktop 4.98.0以降とWSL 3.0.3以降を適用し、再起動後に両方の版を確認してください。
公表日

目次

Windowsで DesktopのWSL 2を使っている開発者は、Docker Desktop 4.98.0以降とWSL 3.0.3以降の両方に更新してください。Dockerは2026年11月3日付の4.98.0で、コンテナからホスト側への通信を制限する仕組みを回避できる-2026-112917を修正しました。ただし、アプリをにしてもWSLが古いままでは対策が完了しません。端末管理者は、インストール済みアプリの一覧だけでなく、WSLの実行環境まで確認する必要があります。

スポンサーリンク

影響を受けるのはどの構成か

Docker Desktop 4.98.0の公式リリースノートは、WSL 2バックエンドのコンテナがAF_VSOCKの制限を回避できたと説明し、修正にはWSL 3.0.3以降が必要と明記しています。OpenCVEに掲載されたDockerのCVE登録データで示されている対象は、x86-64のWindowsホスト上でWSL 2をバックエンドに使うDocker Desktopです。LinuxKitベースのバックエンドは対象外とされています。この条件を、Windowsで動くすべてのDocker製品や、Linuxサーバーに直接導入したDocker Engineへ広げないでください。

WSLをインストールしていることと、Docker Desktopがそれをバックエンドとして使っていることは別です。Docker Desktopの設定で実際のバックエンドを確認し、Linuxコンテナをどの実行環境で動かしているかを記録します。別の環境に接続したDocker から正常にコマンドが通っても、手元のDocker Desktopが何を使っているかは分かりません。反対に、普段はリモート環境だけを使っている場合でも、ローカルで対象のバックエンドを起動して使う端末は棚卸しに含めます。

Dockerの登録データでの評価は 4.0で9.2です。攻撃の起点は、影響を受けるLinuxコンテナ内でコードを実行できることです。インターネットから対象のWindows端末へ接続できるだけで成立するという説明ではありません。今回確認したDockerとMicrosoftの公式リリース資料には、実環境での悪用を確認したとの記載はありません。深刻度の数値と、個々の端末への侵害の有無は分けて判断します。

非特権コンテナでも制限を回避できた理由

AF_VSOCKは仮想マシンとホストなどの間で使われるソケットのアドレスファミリーです。今回問題になったのは、Docker DesktopのWSL 2バックエンドで、Linuxコンテナに適用される既定のseccomp制限です。Dockerの登録データによると、通常の呼び出しで制限される操作に対して、32ビット互換のsocketcallという別の経路を使うと、非特権コンテナでも制限を回避できました。公開ポートを増やす不具合ではないため、Composeのポート公開設定だけを調べてもこの経路は確認できません。

制限を回避すると、ホスト側のサービスに接続できる可能性があります。Windows上のファイルへの影響についてDockerは、到達できるホスト側AF_VSOCKサービスがあることを条件に挙げています。影響はログイン中のWindowsユーザーがアクセスできるファイルなどに及び得ますが、制限を回避できたことだけで、すべての端末で任意のファイルにアクセスできる、あるいはWindowsの管理者権限を得られるとは言えません。コンテナのユーザーを非rootにする設定は引き続き有用ですが、今回の更新の代わりにはなりません。

開発端末で注意したいのは、外部から入手したイメージ、外部の変更を含むの、開発コンテナの初期化処理などです。これらを扱うこと自体が侵害の証拠という意味ではありません。実行されるコードを信頼できるか、検証に使う端末と、ソースや配備用のを扱う端末を分けられるかが、更新までの運用判断になります。端末の棚卸しでは、開発者のPCに加え、Windows上のDocker Desktopを実際に使う検証用端末や共用環境も含めます。

スポンサーリンク

片方だけ更新した端末を見落とさない

対応の基準はDocker Desktop 4.98.0以上、WSL 3.0.3以上です。MicrosoftのWSL 3.0.3リリースノートでは、このリリースがMicrosoftのWSLカーネルを6.18.54.1へ更新したことを確認できます。Docker Desktopの版番号、WSLの版番号、WSLカーネルの版番号は別です。棚卸し表でもそれぞれ列を分け、Docker Desktopの更新だけを根拠に「完了」と記録しないようにします。

Docker Desktopが古い端末は、WSLだけを更新しても公式の修正条件を満たしません。逆にDocker Desktopが4.98.0以上でも、WSLが3.0.3未満なら対象の構成は影響を受けたままです。両方のバージョンが基準を満たした端末について、再起動後に実際の環境で反映を確認します。なお、組織でWSLのカーネルを独自に指定している場合は、標準カーネルを使う環境と同じ扱いにせず、指定したカーネルに必要な修正があるかを管理者と確認します。

端末への更新配布が二つの仕組みに分かれている組織では、同じ端末を対象にした配布状況を突き合わせます。Docker Desktopを管理ツールで更新していても、WSL側の更新がMicrosoft Storeの利用制限や別の承認手順で保留される場合があります。利用者に作業を依頼するなら「Docker Desktopを最新版へ」とだけ伝えず、二つの最低版と、確認に使う画面やコマンドを示します。利用者が更新の権限を持たない端末では、管理側の配布が確認できるまで完了扱いにしません。

更新と確認をPowerShellから進める

Docker Desktopの版はアプリのバージョン表示で確認します。Docker CLIの版はそれとは別なので、docker --versionだけを証跡にしないでください。WSL側はPowerShellで次のコマンドを使います。Microsoft LearnのWSL基本コマンドに、バージョン表示と更新、WSLの停止方法がまとまっています。

wsl --version
wsl --update
wsl --version

最初のwsl --versionでWSLとカーネルの版を記録します。wsl --updateはWSLの更新操作で、Docker Desktopの更新は承認済みの配布経路で別途行います。最後に表示した版が最低条件に届かなければ、更新コマンドが終了したことだけで修正済みと判断しません。標準の配布経路が使えない場合、Microsoftはwsl --update --web-downloadも案内していますが、企業端末では管理者が許可する経路を選びます。コマンドの利用可否や表示が想定と異なる端末は、WSLの導入方法と配布状況を個別に確認します。

新しい実行環境に切り替えるため、動いている開発サーバーやビルドを停止し、編集中のファイルを保存してからDocker Desktopを終了します。必要に応じてwsl --shutdownでWSLの仮想マシンを止め、Docker Desktopを起動し直します。このコマンドはDocker Desktopだけでなく、動作中のWSLも終了させます。共用端末で他の処理がないことを確認し、インストーラーからWindowsの再起動を求められた場合はその案内に従います。データの削除や工場出荷時設定へのリセットは、この確認手順に含めません。

スポンサーリンク

再起動後は接続先と通常動作を確かめる

再起動したら、同じWindows端末上でDocker Desktopの版、バックエンド、WSLの版を読み直します。Docker CLIで動作を確認する場合は、docker context showなどで接続先を確かめ、環境変数やコマンドの指定で別のデーモンを選んでいないことも見ます。普段と同じ開発環境から、組織が信頼している既存イメージでコンテナを起動し、必要な開発用ファイルの共有や通常のテストが通るかを確認します。これは更新後の動作確認であり、脆弱性の再現試験ではありません。

版が基準を満たしているのにDocker Desktopが起動しない場合は、WSLの状態とDocker Desktopの診断情報を別々に確認します。Docker CLIが応答しないだけでは、WSLが起動できないのか、接続先が違うのか、Dockerの起動処理が止まったのかを区別できません。まずアプリ側の表示と接続先を調べ、次にWSLの状態を確認します。古い版へ戻せば動く場合でも、その版のまま未検証のコンテナを実行してよいという判断にはなりません。

端末管理では、最後に「両方更新して再起動・確認済み」「片方が未更新」「構成確認中」「今回の対象外」を分けます。対象外の理由は、たとえば対象のDocker Desktopバックエンドを使用していないことなど、端末ごとに根拠を残します。配布の進捗をアプリ更新率だけで集計すると、WSL側の未更新端末が消えてしまいます。版の組み合わせを作業記録に残しておけば、再配布の対象も絞り込めます。

更新を待つ間にできること

修正版の導入まで時間がかかる端末では、本サイトとして、信頼できないイメージや外部の変更を含むビルドを対象環境で実行しないことを勧めます。既に実行中の検証ジョブを止める必要があるかは、何を実行し、同じWindowsユーザーで何にアクセスできるかを基に判断します。別の端末へ移す場合も、修正が確認された環境を選びます。ポート公開を閉じる、コンテナを非rootにする、マウントを見直すといった対策には個別の価値がありますが、今回の修正条件を満たしたことにはなりません。

不審な実行が見つかった場合は、対象端末、DockerとWSLの版、コンテナの起動時刻やイメージの参照、当時のログインユーザーを記録し、端末管理やの担当者へ引き継ぎます。ホスト側ファイルが影響を受け得るという説明を手がかりに、当時のユーザーが利用できた開発用の資格情報や共有ファイルを切り分けます。ログに異常が見当たらないことだけで過去の影響を否定することはできず、反対に対象版だったというだけで情報流出が確定するわけでもありません。版の確認と影響の調査は別の作業として扱います。

関連記事

Dockerソケットを渡す前に確認する管理権限とSSH接続の守り方

出典・一次情報

本記事は以下の公開情報をもとに作成しています。最新の状況は各リンク先で確認してください。

この記事を書いた人

Ryohei

Webエンジニア / アプリ開発者 / 技術ブログ運営者

福岡のWeb制作会社に勤務するWebエンジニアです。10年以上にわたりWeb制作・開発に携わり、ヒアリングや進行管理から、コーディング、CMSの構築、システム開発、サーバーの構築・保守・運用まで、Webサイト制作の工程を幅広く担当しています。Webサイトは、これまでに100以上の構築・保守を手がけてきました。

個人でもWebサイトの制作・改修やWebアプリの開発・運用を行い、AIを活用した開発にも取り組んでいます。近年はWebセキュリティにも注力しています。

2015年から技術メディア「Into the Program」を運営し、実務や開発で得た知識をもとに、プログラミングの実装方法やWebサイトの運用・セキュリティ情報を発信しています。

主な分野
Webサイト構築・保守・運用 / HTML/CSS / JavaScript / PHP / WordPress / サーバー構築・保守・運用 / アプリ開発 / セキュリティ対策
資格・試験合格
情報セキュリティマネジメント試験
基本情報技術者試験
AWS認定ソリューションアーキテクト アソシエイト
PHP8技術者認定ウィザード
メディア運営
2015年〜

記事の作成・更新について

セキュリティ記事は、ベンダーの公式アドバイザリやCVE・JVNなどの一次情報を参照し、出典と情報確認日を記載します。実環境での検証を行った場合は、その環境と確認範囲を明示します。重要な追加情報や誤りを把握した場合は、内容を確認して追記・訂正します。

あわせて確認したい対策・解説

ほかの脆弱性

関連する記事

おすすめの書籍

キーワードから探す

スポンサーリンク

インシデント対応

セキュリティインシデントが起きたときに、被害の把握・封じ込め・復旧・再発防止までを行う一連の対応。

詳しく見る

ディストリビューション

Linuxのカーネルに、コマンドやライブラリ、パッケージ管理などを組み合わせて、すぐ使える形にして配布しているもの。

詳しく見る

パッケージ

ソフトウェアを配布・インストールしやすいように、プログラムと必要な情報をひとまとめにしたもの。npmやComposerなどで管理する。

詳しく見る

認証情報

本人であることを証明するための情報。IDとパスワード、APIキー、アクセストークン、秘密鍵など。

詳しく見る

ビルド

ソースコードなどから、実際に動かしたり配布したりできる形の成果物を作る作業。

詳しく見る

ブランチ

Gitなどで、作業の流れを枝分かれさせたもの。ほかの作業に影響を与えずに、機能の追加や修正を並行して進められる。

詳しく見る

CVSS

脆弱性の深刻度を0.0〜10.0の数値で評価する共通の基準。数値が大きいほど深刻度が高い。

詳しく見る

CLI

コマンドラインインターフェース。文字のコマンドを入力してコンピューターやツールを操作する方法、またはそのためのツール。

詳しく見る

パッチ

ソフトウェアの不具合や脆弱性を修正するための更新プログラム。適用することで既知の問題を解消する。

詳しく見る

CVE

公開された脆弱性に付けられる世界共通の識別番号。「CVE-2026-12345」のように年と連番で表す。

詳しく見る

脆弱性

ソフトウェアや設定の不備のうち、攻撃者に悪用されると情報漏えいや不正操作などにつながる弱点。

詳しく見る

Linux

オープンソースのOS(カーネル)。Webサーバーやクラウド、コンテナで広く使われ、用途に合わせた多くのディストリビューションがある。

詳しく見る

バックエンド

Webサービスなどで、サーバー側でデータの処理や保存を担う部分。利用者の画面を担うフロントエンドと対になる言葉。

詳しく見る

Docker

アプリケーションと実行環境をコンテナとしてまとめ、どこでも同じように動かせるようにするソフトウェア。

詳しく見る