CVE-2026-31431(Copy Fail)とは?Linux root権限昇格の影響範囲とMicrosoft Securityで確認すべき対応

CVE-2026-31431(Copy Fail)は、Linuxカーネルの脆弱性を悪用して一般ユーザー権限からroot権限へ昇格できる問題です。単体ではインターネット越しに直接攻撃されるタイプではありませんが、SSHアカウント、侵害されたコンテナ、CI/CDジョブなど「ローカルでコードを実行できる足場」と組み合わさると、クラウド環境やKubernetesノード全体に影響が広がる可能性があります。まず行うべき対応は、対象Linuxホストの棚卸し、カーネル更新、再起動、KubernetesノードやCI/CDランナーの優先パッチ適用です。Microsoft Security Blogでも、パッチ適用とAF_ALGソケット作成の制限、侵害が疑われるコンテナ環境のノード再作成を推奨しています。(Microsoft)

目次

CVE-2026-31431(Copy Fail)とは

CVE-2026-31431は、「Copy Fail」と呼ばれるLinuxカーネルのローカル権限昇格脆弱性です。Microsoft Security Blogによると、Linuxカーネルの暗号化サブシステム、特にAF_ALGのalgif_aead周辺の処理に起因し、権限のないローカルユーザーがroot権限を得られる可能性があります。影響はRed Hat、SUSE、Ubuntu、AWS Linuxなど複数の主要Linuxディストリビューションに及ぶとされています。(Microsoft)

重要なのは、「リモートから直接rootを取られる脆弱性」ではない一方で、現代のクラウド運用ではローカル実行の機会が多い点です。たとえば、WebアプリのRCE、コンテナ内への侵入、CI/CDランナーでの不正ジョブ実行、開発用SSHアカウントの悪用が起点になると、Copy Failによってホスト側のroot権限取得につながる恐れがあります。

確認項目内容実務上の意味
脆弱性の種類ローカル権限昇格侵入後の権限拡大に使われやすい
主な前提条件非特権ユーザーとしてコード実行できることSSH、コンテナ、CI/CD、踏み台サーバーが焦点
影響対象影響範囲のLinuxカーネルを利用する主要ディストリビューションクラウドVM、Kubernetesノード、オンプレLinuxも確認対象
深刻度CVSS v3.1で7.8 High「ローカルだから後回し」ではなく優先対応が必要
直接の対策カーネル更新、再起動、暫定緩和策パッケージ更新だけでなく稼働カーネルの確認が必要

NVDでは、CNAであるkernel.orgのCVSS v3.1スコアが7.8 High、ベクトルはAV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:Hと示されています。また、CISAのKnown Exploited Vulnerabilities Catalogにも登録され、米国連邦機関向けの対応期限が2026年5月15日と記載されています。(NVD)

何が変わったのか:通常のLinuxカーネル更新より優先度が高い理由

CVE-2026-31431で運用担当者が見るべき変更点は、単に「新しいCVEが出た」ことではありません。ポイントは、検証コードの公開、クラウド・コンテナ環境での影響、Microsoft Defenderによる検出情報の提供、CISA KEVへの登録が重なっている点です。

IPAも、CVE-2026-31431はネットワーク越しに直接攻撃できるものではないとしつつ、検証コードが公開されており、他の脆弱性との組み合わせやコンテナのようにカーネル環境を共有する運用形態での影響に注意を促しています。(特許庁)

特にKubernetesでは、コンテナはホストのLinuxカーネルを共有します。つまり、アプリケーションコンテナのイメージだけを更新しても、この脆弱性の根本対策にはなりません。対応すべき対象は、Pod内のパッケージではなく、ノードOSのカーネルです。

対応すべき環境

CVE-2026-31431の確認対象は、Linuxサーバー全般です。ただし、限られた時間で優先順位を付けるなら、まず「不特定または多数のユーザー・ワークロードがコードを実行できる環境」から着手します。

優先度対象環境優先すべき理由
最優先Kubernetesノード、コンテナホスト1つのコンテナ侵害がホスト権限に拡大する可能性がある
最優先CI/CDランナー、ビルドサーバー外部コードや依存関係を実行する機会が多い
高踏み台サーバー、共有開発サーバー複数ユーザーがログインでき、権限昇格の前提を満たしやすい
高インターネット公開サービスのLinux VMWeb脆弱性などと組み合わさると影響が大きい
中単一用途の内部Linuxサーバー直接のリスクは低めでも、侵害後の横展開に使われ得る
中検証・ステージング環境本番と同じ認証情報やCI/CD連携が残っている場合がある

Azure、AWS、Google Cloudなどのクラウド上でLinux VMを運用している場合も、考え方は同じです。マネージドサービス名ではなく、実際にLinuxカーネルを動かしている場所を基準に棚卸しします。AKS、EKS、GKE、自社構築Kubernetes、Dockerホスト、Podmanホスト、GitHub Actionsのセルフホステッドランナー、GitLab Runner、Jenkinsエージェントなどは特に確認が必要です。

まず実施する確認手順

最初にやるべきことは、影響を受ける可能性があるLinuxホストを一覧化し、カーネル更新の有無を確認することです。パッチ提供状況はディストリビューションごとに変わるため、「特定のカーネル番号だけ」を見て安全・危険を断定しないようにします。ディストリビューションではバックポートにより、見た目のバージョン番号が大きく変わらないまま修正が入ることがあります。

Linuxホストで確認する基本情報

uname -r
cat /etc/os-release

Debian系では、インストール済みカーネルと更新候補を確認します。

dpkg -l 'linux-image*' | grep '^ii'
apt list --upgradable 2>/dev/null | grep -E 'linux-image|linux-modules|linux-headers'

Red Hat系では、カーネルパッケージとセキュリティ更新情報を確認します。

rpm -q kernel
dnf updateinfo list cves | grep CVE-2026-31431

Amazon Linuxでは、利用中のALAS情報とパッケージ更新状況を確認します。

uname -r
sudo dnf check-update kernel

確認時は、次の3点を必ずセットで見ます。

確認ポイント見るべき内容失敗しやすい点
OS種別Ubuntu、RHEL、SUSE、Amazon Linuxなどコンテナ内のOSだけ見てホストOSを見落とす
稼働カーネルuname -rの結果パッケージ更新後、再起動しておらず古いカーネルで動いている
ベンダー情報各ディストリビューションのCVEページ、セキュリティアドバイザリ非公式ブログのバージョン表だけで判断する

IPAも、具体的な影響バージョンは利用しているディストリビューションの開発者が提供する情報を確認するよう案内しています。(特許庁)

推奨対応:パッチ適用と再起動を最優先にする

最も確実な対策は、各ディストリビューションが提供する修正済みカーネルへ更新し、再起動して新しいカーネルで起動することです。Microsoft Security Blogでも、影響を受ける製品・バージョンの特定、パッチがある場合の即時適用、ログ確認を初動対応として示しています。(Microsoft)

Linuxカーネル更新では、パッケージを入れただけでは対策が完了しないことがあります。再起動後に、必ず以下を確認します。

uname -r

運用上は、以下の順で進めると抜け漏れを減らせます。

手順作業判断基準
棚卸しLinux VM、物理サーバー、Kubernetesノード、CI/CDランナーを一覧化「コンテナだけ」「本番だけ」に限定しない
優先順位付け外部公開、マルチテナント、CI/CD、Kubernetesを最優先ローカル実行されやすい環境から対応
更新ディストリビューションの正規パッケージでカーネル更新独自ビルドカーネルは別途修正有無を確認
再起動メンテナンス枠またはローリング再起動で反映uname -rで稼働カーネルを確認
監視Microsoft Defender、EDR、SIEMでアラート確認パッチ後も過去の悪用痕跡を確認
恒久化ゴールデンイメージ、AMI、Azure Compute Gallery、テンプレートを更新新規作成されるサーバーが再び脆弱にならないようにする

パッチがすぐ適用できない場合の暫定対策

パッチがまだ提供されていない、または業務都合で即時再起動できない場合は、暫定的な緩和策を検討します。ただし、緩和策は本来の修正の代替ではありません。パッチ適用までの時間を稼ぐ手段として扱います。

Microsoft Security Blogでは、パッチがない場合の暫定策として、影響機能の無効化、ネットワーク分離、アクセス制御を挙げています。また、AF_ALGソケット作成のブロックも推奨しています。(Microsoft)

CERT-EUは、暫定対策としてalgif_aeadカーネルモジュールの無効化や、コンテナ環境・パイプラインでseccompによってAF_ALGソケット作成をブロックする方法に言及しています。(CERT-EU)

例として、ベンダーの案内や検証環境での確認を前提に、algif_aeadを無効化する場合は次のような設定が検討されます。

echo "install algif_aead /bin/false" | sudo tee /etc/modprobe.d/disable-algif.conf
sudo rmmod algif_aead 2>/dev/null || true

ただし、このような設定はアプリケーションによって影響が出る可能性があります。CERT-EUは、AF_ALGを直接利用するアプリケーションやafalgエンジンを明示的に使う構成では影響確認が必要だとしています。(CERT-EU)

ネットワーク分離も有効な補助策ですが、Copy Failそのものはローカル権限昇格です。ネットワークACLやファイアウォールだけでは、すでに侵入されたコンテナ、SSHログイン可能なユーザー、CI/CDジョブからの悪用を止められません。ネットワーク対策は「最初の侵入を減らす対策」であり、「権限昇格を直接防ぐ対策」ではない点を区別してください。

Kubernetesとコンテナ環境での確認ポイント

Kubernetesでは、Copy Failの影響確認をPod単位ではなくノード単位で行います。コンテナイメージを更新しても、ホストカーネルが脆弱なままなら根本対策にはなりません。

対応の基本は次の流れです。

作業内容
ノード一覧の取得すべてのワーカーノード、コントロールプレーン、専用ノードプールを確認
ノードOSの確認ディストリビューション、カーネル、ノードイメージの更新状況を見る
ローリング更新ノードをcordon/drainし、更新済みノードへ置き換える
古いノードの削除更新後も古いカーネルのノードが残っていないか確認
侵害疑いの対応不審なコンテナ実行やPoC実行痕跡がある場合、ノード再作成と認証情報の確認を行う

Microsoft Security Blogは、コンテナRCEを潜在的なホスト侵害として扱い、侵害インジケーターがある場合は迅速なノード再作成を行うよう推奨しています。(Microsoft)

マネージドKubernetesでは、コントロールプレーンよりもまずワーカーノードのOSイメージ、ノードプール、VMSSやインスタンスグループの更新状態を確認します。自動スケールで新規作成されるノードが古いイメージを使うと、せっかく既存ノードを更新しても脆弱なノードが再投入されます。ノードイメージ、起動テンプレート、IaC定義まで更新することが重要です。

Microsoft Defenderで確認すべき検出とアラート

Microsoft Security Blogでは、Microsoft Defender XDR関連の検出名も公開されています。Microsoft Defender Antivirusでは、Exploit:Linux/CopyFailExpDl.A、Exploit:Python/CopyFail.A、Exploit:Linux/CVE-2026-31431.A、Behavior:Linux/CVE-2026-31431などが示されています。また、Microsoft Defender for Endpointでは「Possible CVE-2026-31431 (“Copy Fail”) vulnerability exploitation」、Microsoft Defender for Cloudでは「Potential exploitation of copy-fail vulnerability detected」という検出が紹介されています。(Microsoft)

Microsoft Defenderを利用している場合は、次の観点で確認します。

確認先見るべき内容
Microsoft Defender XDRCopy Fail関連のアラート、Linux端末の検出イベント
Microsoft Defender for Endpoint不審なPython実行、権限昇格の兆候、Linuxデバイスのアラート
Microsoft Defender for Cloudクラウド上のLinux VM、Kubernetes、コンテナホストの警告
Microsoft Defender Vulnerability ManagementCVE-2026-31431に該当する可能性があるデバイス
SIEM・ログ基盤SSHログイン、CI/CDジョブ実行、不審な一時ファイル、異常なrootプロセス

ただし、検出がないことは「悪用されていない」ことの証明ではありません。Microsoft Security Blogでも、この脆弱性はメモリ上の変更を伴うため、従来のディスク上の整合性チェックだけでは見落とす可能性がある点に注意が必要です。(Microsoft)

移行・設定変更時に見落としやすいポイント

CVE-2026-31431対応では、既存サーバーのパッチだけでなく、将来作成されるサーバーやノードの設定も確認する必要があります。特にクラウド環境では、オートスケールやIaCによって古いイメージが再利用されることがあります。

ゴールデンイメージとテンプレートを更新する

Linux VMを直接更新しても、ゴールデンイメージ、AMI、Azure Compute Gallery、Terraform、Packer、Ansible、Cloud-initなどが古い状態のままだと、新規作成時に脆弱なカーネルが戻ってきます。パッチ適用後は、イメージ作成パイプラインも更新し、実際に新規デプロイしたインスタンスでuname -rを確認します。

「コンテナの再ビルド」で終わらせない

Copy Failはコンテナ内アプリのライブラリではなく、ホストカーネルの問題です。アプリケーションイメージを再ビルドしても、KubernetesノードやDockerホストが未更新ならリスクは残ります。

再起動漏れを確認する

カーネルパッケージ更新後、再起動していないサーバーは古いカーネルで動き続けます。運用チームでは「更新済み」と「再起動済み」を別ステータスで管理すると、対応漏れを減らせます。

ライブパッチの適用範囲を過信しない

ライブパッチを利用している場合でも、CVE-2026-31431が対象に含まれるかはベンダー情報で確認が必要です。対象外の場合は、通常のカーネル更新と再起動が必要になります。

CI/CDランナーを後回しにしない

CI/CDランナーは、外部リポジトリ、依存パッケージ、ビルドスクリプトなどを実行するため、ローカル権限昇格の前提条件を満たしやすい環境です。共有ランナーやセルフホステッドランナーは、Kubernetesノードと同じレベルで優先対応するべきです。

よくある誤解と判断ミス

誤解実際の判断
ローカル脆弱性なので急がなくてよいコンテナ侵害やCI/CD悪用と組み合わさるとroot昇格につながる
コンテナを更新すればよい対策対象はホスト側のLinuxカーネル
パッケージ更新済みなら完了再起動して稼働カーネルが変わったか確認が必要
EDRで検出されていないから安全メモリ上の悪用や短時間の実行は見落とす可能性がある
ネットワーク遮断で十分ローカル実行済みの攻撃者やCI/CDジョブには不十分
本番だけ対応すればよい検証環境や開発環境に本番資格情報が残っている場合がある

いま取るべき行動

CVE-2026-31431(Copy Fail)への対応は、次の順で進めると現実的です。

まず、Linuxホスト、Kubernetesノード、CI/CDランナー、コンテナホストを棚卸しします。次に、ディストリビューションの公式情報で修正済みカーネルの有無を確認し、更新と再起動を実施します。Kubernetesではノード単位でローリング更新し、古いノードが残っていないか確認してください。パッチがすぐに適用できない場合は、AF_ALGソケット作成の制限やalgif_aead無効化などの暫定策を、業務影響を検証したうえで適用します。

Microsoft Defenderを利用している環境では、Copy Fail関連のアラート、脆弱性管理画面、Linuxデバイスの検出状況を確認します。最後に、ゴールデンイメージ、ノードイメージ、IaC、CI/CDランナーのベースイメージまで更新し、新規作成される環境が再び脆弱にならないようにします。

Copy Failは「Linuxカーネルの1件のCVE」ではなく、クラウド、Kubernetes、CI/CD、マルチユーザー運用の前提を揺さぶる権限昇格リスクです。対応の基準は、インターネット公開の有無だけではなく、そのホスト上で誰がコードを実行できるかです。そこを起点に優先順位を付ければ、限られた時間でもリスクの高い場所から確実に対処できます。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次