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 VM | Web脆弱性などと組み合わさると影響が大きい |
| 中 | 単一用途の内部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 XDR | Copy Fail関連のアラート、Linux端末の検出イベント |
| Microsoft Defender for Endpoint | 不審なPython実行、権限昇格の兆候、Linuxデバイスのアラート |
| Microsoft Defender for Cloud | クラウド上のLinux VM、Kubernetes、コンテナホストの警告 |
| Microsoft Defender Vulnerability Management | CVE-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、マルチユーザー運用の前提を揺さぶる権限昇格リスクです。対応の基準は、インターネット公開の有無だけではなく、そのホスト上で誰がコードを実行できるかです。そこを起点に優先順位を付ければ、限られた時間でもリスクの高い場所から確実に対処できます。

コメント