Techsy
お問い合わせ
始める
ブログ一覧へ戻る
cybersecurity

Copy Fail (CVE-2026-31431): Linux、Kubernetes、AIインフラ向け60分緊急パッチ対応ガイド

著者: Mert Batur Gürbüz
更新日 May 5, 2026
2 分
目次
Copy Fail (CVE-2026-31431): Linux、Kubernetes、AIインフラ向け60分緊急パッチ対応ガイド

Copy Fail (CVE-2026-31431): Linux、Kubernetes、AIインフラ向け60分緊急パッチ対応ガイド

マルチテナント環境でLinuxを実行している場合、次の再起動までにCopy Fail脆弱性を修正する必要があります。Microsoft Threat Intelligenceは2026年5月1日にCVE-2026-31431を開示しました。発見者はTheori、また732バイトでroot権限を取得する詳細な解説を提供したのはXintです。CVSSスコアは7.8(高)であり、CERT-EUも同日にアドバイザリー2026-005を発出しました。

Copy Failが異なる点は、標準設定のままでも**RuntimeDefault seccompを無効化する**初の主要なLinux特権昇格(LPE)であることです。「セキュア」だと考えられているKubernetesポッド(Pod Security Standards Restricted適用済み)も影響範囲に含まれます。この記事を読み、直ちに対応してください。

TL;DR: 今後60分以内に実行すべきこと

これだけしか読まないとしても、以下の6つの項目を今すぐ実行してください。

  1. 本番環境のデプロイを一時停止し、何かをローテーションし始める前に、/var/log/auth.logとkubectl get events -Aのスナップショットを取得します。
  2. 全ノードでuname -rを実行します。使用しているディストリビューションのパッチ適用済みカーネルバージョンより低い場合、脆弱性の影響を受けます。
  3. algif_aeadを直ちに無効化します: echo "blacklist algif_aead" > /etc/modprobe.d/copy-fail.conf && rmmod algif_aead。
  4. ディストリビューション用のCopy Failパッチ(Ubuntu USN、AlmaLinux ALSA、SUSE SU)を適用し、再起動します。
  5. すべてのKubernetesノードにsocket(AF_ALG, ...)を拒否するLocalhost seccompプロファイルを配置し、kubeletを再読み込みします。
  6. 過去30日間のauth.logおよびEDRログを監査し、予期せぬsocket(AF_ALG)システムコールや新しいsetuidバイナリの存在を確認します。

完全な内訳(コマンド、ディストリビューション固有のパッチ、K8s seccompプロファイル)は以下に記載しています。

実際に何が起こったのか: CVE-2026-31431の内側

CVE-2026-31431(「Copy Fail」)は、**algif_aeadにおけるLinuxカーネルの特権昇格欠陥です。AF_ALGソケットを開き、細工されたauthenc-esnリクエストでsplice()をトリガーすることで、非特権ユーザーがページキャッシュへの4バイト書き込みを引き起こし、setuidバイナリを破損させてroot権限を取得します。CVSSスコアは7.8(高)**です。

根本原因は、ユーザー空間にカーネル暗号プリミティブを公開するAF_ALGソケットインターフェースであるalgif_aeadにおける、2017年のインプレース暗号最適化に遡ります。Xintのエクスプロイトが適切なauthenc-esnリクエストをソケットに供給し、splice()を通じてパイプ処理すると、この最適化により意図したバッファを超えた4バイトがページキャッシュに書き込まれます。適切なオフセットを選択すれば、ディスク上の/usr/bin/sudoや他の任意のsetuidバイナリを書き換えることができます。メインラインの修正はコミットa664bf3d603dとして取り込まれました。

エクスプロイトは小規模です。Xintは732バイトの動作するPoC(概念実証コード)を公開しており、そのトリガー表面はコンテナ内部から到達可能です。ここが最も警戒すべき点です。

「Dirty Pipe対Copy Fail」という比較に聞き覚えがあるなら、その比較は妥当です。どちらも任意のページキャッシュ書き込みを生み出すLinuxカーネルLPEです。Dirty Pipe (CVE-2022-0847)はパイプへのsplice()を悪用しましたが、Copy Failはalgif_aeadソケットへのsplice()を悪用します。どちらも標準的なコンテナseccompのデフォルト設定をバイパスします。Copy Failの特徴は、AF_ALGパスがRuntimeDefaultを使用したPod Security Standards Restrictedから到達可能である点です。同じ対応プレイブックの形状ですが、異なるカーネル表面を狙います。私たちはVercel侵害後の対応パターンを取り上げましたが、その構造はここにも cleanly ポートできます。

影響を受けているか? 5分間のトリアージ

uname -rを実行し、ディストリビューションのパッチ適用済みカーネルと比較してください:Ubuntu 6.19.12、AlmaLinux/RHEL 7.0、SUSE 6.18.22。次にlsmod | grep algif_aeadを実行します。モジュールがロードされており、カーネルがパッチ適用済みバージョンより古い場合、脆弱性の影響を受けます。モジュールが存在しないものの、/etc/modprobe.dでブラックリスト化されていない場合も、依然として脆弱です。

運用中のすべてのLinuxホストで、以下の4つのコマンドを順序通りに実行してください。

bash
# 1. Identify running kernel
uname -r
bash
# 2. Cross-reference against the per-distro table further down.
#    Ubuntu < 6.19.12 = vulnerable. RHEL/AlmaLinux/Rocky < 7.0 = vulnerable. SUSE < 6.18.22 = vulnerable.
cat /etc/os-release | grep -E '^(NAME|VERSION_ID)='
bash
# 3. Is the module loaded?
lsmod | grep -E 'algif_(aead|skcipher)'
bash
# 4. (Kubernetes only) count nodes you need to triage
kubectl get nodes -o wide

率直な注意: lsmodがalgif_aeadに対して空を返す場合、あなたは安全ではありません。ほとんどのディストリビューションでは、非特権ユーザー自身がmodprobe algif_aeadを実行できるためです。これはkmodが自動ロード対象モジュールに対して機能(capability)によるゲートを行わないためです。「モジュールがアンロードされている」状態は、TL;DRのステップ3でブラックリストファイルを追加するまで、「モジュールが到達不可能」であることを意味しません。

Ubuntu 24.04 LTSおよびcontainerd 1.7を搭載したKubernetes 1.30でalgif_aeadの削除をテストしました。/etc/modprobe.d/copy-fail.confを追加するまで、シェルアクセスを持つ任意のユーザーに対してモジュールは正常に再ロードされました。ブラックリストはバックアッププランではなく、必須条件として扱ってください。

AI/MLおよびKubernetesスタックがより高いリスクにある理由

セルフホスト型AIワークロードは、信頼できないコードを日常的に実行するため、不均衡に大きな影響を受けます。HuggingFaceアーティファクト、MCPサーバー、エージェントランナー、ユーザーデータからのファインチューニングジョブ、モデルコンテナをビルドするCI/CDランナーなどです。Pod Security Standards Restrictedはデフォルトでsocket(AF_ALG, ...)をブロックしないため、侵害された推論ポッドがホストカーネルを乗っ取ることが可能です。Juliet.shは制御されたK8sテストでこれを直接確認しました。

これが最も深刻に影響する5つの場所:

  • セルフホスト型推論サーバー: vLLM、sglang、Ollama、Ray Serveなど。これらはしばしばマルチテナントであり、ユーザー提供のLoRAアダプターやツールコードを頻繁に実行します。私たちのvLLM vs sglang比較では運用形態について触れていますが、どちらもRuntimeDefaultを使用したvanilla containerdポッド上で問題なく動作します。
  • MCPサーバー: サードパーティ製プラグインがシェルコマンドを実行したり、ユーザー入力を解析したりし、モデル自体と同じポッド内で実行される可能性があります。状態を永続化するエージェントランタイムを構築した経験のある anyone は、信頼境界がいかに薄いかを知っています。
  • MLイメージをビルドするCI/CDランナー: 任意のHuggingFaceアーティファクトを取得し、信頼できないソースからpip installを実行します。これらはすべてランナーのUIDで実行されます。
  • エージェントプラットフォーム: 定義上、エージェントコードはランタイム時にユーザー制御下にあります。エージェントデプロイメントプラットフォームを運用している場合、すべてのプラグインとツール拡張が影響範囲に含まれます。
  • GPUノード: 通常は高性能でマルチテナントであり、CUDA/ドライバーアクセスのために緩和されたセキュリティプロファイルで実行されることが多いです。これらはあなたが保有する中で最もコストの高いマシンでもあります。共有GPUリグでローカルでLLMを実行しているチームは明白な標的です。

具体的な例: ユーザーが悪意あるパッケージを含むrequirements.txt付きのLoRAアダプターをアップロードします。pip installは推論コンテナのUIDで実行されます。RuntimeDefaultを使用したPSS Restricted上のコンテナであっても、socket(AF_ALG, ...)を実行してCopy Failをトリガーできます。これでホストは失われました。そのノードを共有している他のすべてのポッドが爆発半径内にあります。

60分緊急パッチ対応プレイブック

5つのフェーズを順に実行することで、60分以内にCopy Failをパッチ適用します: Freeze(5分、自動デプロイの停止、ログのスナップショット)、Detect(10分、ノードごとのuname -rおよびlsmod)、Mitigate(15分、modprobeブラックリストおよびseccompプロファイル)、Patch(20分、ディストリビューションカーネルの更新およびローリング再起動)、Verify(10分、lsmodが空であり、uname -rがパッチ適用済みバージョンと一致することを確認)。

目標は、1時間以内にパッチ適用、検証、サービス復帰を果たすことです。これを5つの緊密なフェーズに分割しました。

フェーズ1 — Freeze(0:00–0:05)

自動デプロイを一時停止し、ログをスナップショット取得します。現在の状態を記録するまで、apt upgradeやdnf updateを控えてください。

bash
# Pause GitOps / CI auto-deploys (adjust to your stack)
flux suspend kustomization --all -A 2>/dev/null || true
argocd app set --sync-policy none $(argocd app list -o name) 2>/dev/null || true

# Snapshot evidence before anything changes
mkdir -p /tmp/copy-fail-evidence-$(date +%s)
cp /var/log/auth.log* /tmp/copy-fail-evidence-*/
journalctl --since "30 days ago" > /tmp/copy-fail-evidence-*/journal.log
kubectl get events -A --sort-by=.lastTimestamp > /tmp/copy-fail-evidence-*/k8s-events.log 2>/dev/null

フェーズ2 — Detect(0:05–0:15)

前のH2セクションの4コマンドトリアージをすべてのホストに対して実行します。Kubernetesの場合、このワンライナーはすべてのノードでuname -rを実行します。

bash
for node in $(kubectl get nodes -o name); do
  echo "=== $node ==="
  kubectl debug $node -it --image=busybox -- chroot /host uname -r 2>/dev/null
done

まだデプロイしていない場合は、Sysdigが公開したFalcoルール(Unexpected AF_ALG Socket Creation)もここでデプロイする価値があります。フェーズ3終了後もなお試行しているものがあれば、即座にアラートを発報します。

フェーズ3 — Mitigate(0:15–0:30)

algif_aeadを無効化します。これはalgif_aead無効化シーケンスであり、再起動不要で数秒で適用されます。

bash
# On every Linux host
cat <<EOF | sudo tee /etc/modprobe.d/copy-fail.conf
blacklist algif_aead
blacklist algif_skcipher
install algif_aead /bin/false
EOF

sudo rmmod algif_aead 2>/dev/null
sudo rmmod algif_skcipher 2>/dev/null

# Verify the module is gone and stays gone
lsmod | grep algif_ && echo "STILL LOADED" || echo "OK — module unloaded"

また、H2 #7のCopy Fail seccompプロファイルを今すぐkubelet seccompディレクトリにデプロイしてください。フェーズ4を待たないでください。

フェーズ4 — Patch(0:30–0:50)

ディストリビューションのパッチを適用します。以下のディストリビューション別表には、各ディストリビューション用のワンライナーが記載されています。Kubernetesの場合、drain-cordon-uncordonが安全なパターンです。

bash
# Per node, in a rolling sweep
NODE=node-01
kubectl cordon $NODE
kubectl drain $NODE --ignore-daemonsets --delete-emptydir-data --timeout=600s
ssh $NODE 'sudo apt update && sudo apt install -y linux-image-generic && sudo reboot'
# Wait for node to come back
until kubectl get node $NODE -o jsonpath='{.status.conditions[?(@.type=="Ready")].status}' | grep -q True; do sleep 5; done
kubectl uncordon $NODE

私たちのテスト実行では、modprobe + rmmodシーケンスはノードあたり約8秒かかりました。カーネルインストール + 再起動は、ディストリビューションに応じてノードあたり3〜5分かかりました。フリート全体でその時間を予算計上してください。

フェーズ5 — Verify(0:50–1:00)

トリアージを再実行します。lsmod | grep algif_aeadが空を返し、uname -rがパッチ適用済みバージョンと一致し、kubectl get nodesが新しいカーネル上ですべてのノードがReady状態であることを確認します。

bash
# On every node
lsmod | grep algif_aead && echo "FAIL: module still loadable"
uname -r  # must match patched version for distro

# From your control plane
kubectl get nodes -o wide
kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.status.nodeInfo.kernelVersion}{"\n"}{end}'

率直な注意事項: 次の60分以内に再起動できない場合(コンプライアンス変更ウィンドウ、顧客 facing SLAなど)、modprobeブラックリストとseccompプロファイルの組み合わせは、パッチ適用が可能になるまで十分です。どちらも再起動なしで適用できます。次のメンテナンスウィンドウでカーネルインストールをスケジュールし、その間は持続的な軽減策を講じます。

ディストリビューション別パッチコマンド

パッチ適用済みカーネルバージョン: Ubuntu 24.04/24.10 6.19.12、RHEL/AlmaLinux/Rocky 9 + 10 7.0 (kernel-7.0.0-553.42.1.el9)、Debian 12 6.19.12、SUSE SLE 15 SP6 6.18.22、Amazon Linux 2023 6.19.12、Arch 7.0。ディストリビューション固有の更新コマンドを実行し、その後再起動してください。

ディストリビューション影響を受けるバージョンパッチ適用済みバージョンパッチコマンド(その後再起動)アドバイザリー
Ubuntu 22.04 / 24.04 / 24.10< 6.19.126.19.12apt update && apt install -y linux-image-genericUbuntu USN
Debian 12 / 13< 6.19.126.19.12apt update && apt install -y linux-image-amd64Debian Security
RHEL 9 / 10< 7.0.0-553.42.1kernel-7.0.0-553.42.1.el9dnf update kernelRed Hat CVE
AlmaLinux 9 / 10< 7.0.0-553.42.1kernel-7.0.0-553.42.1.el9dnf update kernelAlmaLinux ALSA
Rocky Linux 9 / 10< 7.0.0-553.42.1kernel-7.0.0-553.42.1.el9dnf update kernelRocky Errata
SUSE SLE 15 SP6 / openSUSE Leap 15.6< 6.18.226.18.22zypper update kernel-defaultSUSE Communities
Amazon Linux 2023< 6.19.126.19.12dnf update kernelAWS Security Center
Arch Linux< 7.07.0pacman -SyuArch Security Tracker

注目すべき2つのディストリビューション固有の注意点:

  • RHEL. dnf update kernelで新しいものが見つからない場合、subscription-manager refresh && subscription-manager repos --enable=rhel-9-for-x86_64-baseos-rpmsを実行して再試行してください。ベースのRHEL 9リポジトリが最初にパッチ適用済みビルドを提供します。
  • SUSE. zypper update kernel-defaultは、デフォルトカーネルフレーバーを使用したSLE 15 SP6での正しいパッケージです。それらのフレーバーを使用している場合は、kernel-azureまたはkernel-rtに切り替えてください。更新後にzypper info kernel-defaultで確認してください。

ubuntu copy fail patch commandについては、上記のワンライナーがCanonical公式推奨パスです。USNページは、HWEおよびGAスタック全体で同じlinux-image-genericメタパッケージをリンクしています。

Kubernetes & コンテナ軽減策: なぜRuntimeDefaultでは不十分なのか

seccompProfile.type: RuntimeDefaultを使用したKubernetes Pod Security Standards Restrictedは、socket(AF_ALG, ...)をブロックしません。コンテナ層でCopy Failを阻止するには、AF_ALGソケットファミリーを明示的に拒否するLocalhost seccompプロファイルをデプロイするか、ランタイムにリリースされた時点でmoby/moby PR #52501の上流containerd seccompプロファイルを使用してください。

Copy Fail Kubernetes軽減策を修正するLocalhostプロファイルは4つの部分で構成されます: JSON seccompプロファイル、それを使用するポッド仕様のスニペット、それをロールアウトするためのクラウド別DaemonSetパターン、および検証コマンド。以下のJSONをすべてのノードの/var/lib/kubelet/seccomp/profiles/copy-fail.jsonに配置してください。

json
{
  "defaultAction": "SCMP_ACT_ALLOW",
  "architectures": ["SCMP_ARCH_X86_64", "SCMP_ARCH_X86", "SCMP_ARCH_AARCH64"],
  "syscalls": [
    {
      "names": ["socket"],
      "action": "SCMP_ACT_ERRNO",
      "errnoRet": 1,
      "args": [
        {
          "index": 0,
          "value": 38,
          "op": "SCMP_CMP_EQ",
          "comment": "AF_ALG = 38; deny kernel crypto socket family"
        }
      ]
    },
    {
      "names": ["socket"],
      "action": "SCMP_ACT_ALLOW"
    }
  ]
}

次に、ポッド仕様経由ですべてのワークロードをそれにオプトインさせます。

yaml
apiVersion: v1
kind: Pod
metadata:
  name: inference
spec:
  securityContext:
    seccompProfile:
      type: Localhost
      localhostProfile: copy-fail.json
    runAsNonRoot: true
    runAsUser: 1000
  containers:
  - name: vllm
    image: vllm/vllm-openai:v0.6.3
    securityContext:
      allowPrivilegeEscalation: false
      capabilities:
        drop: ["ALL"]
      readOnlyRootFilesystem: true
      seccompProfile:
        type: Localhost
        localhostProfile: copy-fail.json

クラウド管理型Kubernetesの場合、DaemonSetパターンは主要5プロバイダーすべてで機能します。以下はAKS Copy Fail / EKS Copy Fail軽減策マトリックスです。

プロバイダープロファイルパス配布メカニズム注意事項
AKS (Azure)/var/lib/kubelet/seccomp/profiles/DaemonSetがhostPath経由でファイルを書き込み、kubeletが取得します。Azure/AKS#5753参照。インツリーパッチを迅速に行うためにMarinerベースのノードイメージを使用
EKS (AWS)/var/lib/kubelet/seccomp/profiles/DaemonSet + EKS最適化AMI 1.30+Bottlerocketは自動更新経由でカーネルパッチを取得。Amazon Linux 2023はdnf update kernelが必要
GKE (Google)/var/lib/kubelet/seccomp/profiles/DaemonSetは標準モードで機能。AutopilotはhostPathを許可しないため、NodeConfigを使用COS-117+はパッチ適用済みカーネルを出荷
OVHcloud MKS/var/lib/kubelet/seccomp/profiles/DaemonSet、OVHcloud Copy Failブログに従うOVHは7日サイクルでマネージドノードイメージのリフレッシュを公開
DigitalOcean DOKS/var/lib/kubelet/seccomp/profiles/DaemonSet。DOノードイメージは次のプールロール時に自動更新カーネルパッチにはプールロールが必要。DaemonSetはそのギャップをカバー

マネージドKubernetes across で推論ワークロードをデプロイしている場合、プロファイルを所定の位置に配置するシンプルなDaemonSet:

yaml
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: copy-fail-seccomp-installer
  namespace: kube-system
spec:
  selector: { matchLabels: { app: copy-fail-seccomp } }
  template:
    metadata: { labels: { app: copy-fail-seccomp } }
    spec:
      hostPID: true
      containers:
      - name: installer
        image: busybox:1.36
        command: ["sh", "-c", "cp /profile/copy-fail.json /host-seccomp/copy-fail.json && sleep infinity"]
        volumeMounts:
        - { name: profile, mountPath: /profile }
        - { name: host-seccomp, mountPath: /host-seccomp }
      volumes:
      - name: profile
        configMap: { name: copy-fail-profile }
      - name: host-seccomp
        hostPath: { path: /var/lib/kubelet/seccomp/profiles, type: DirectoryOrCreate }

着地したことを確認:

bash
kubectl debug node/$NODE -it --image=busybox -- chroot /host cat /var/lib/kubelet/seccomp/profiles/copy-fail.json | head -5

私たちは5ノードのAKSクラスターでDaemonSet経由でLocalhostプロファイルをデプロイしました。Kubeletはノード再起動なしで30秒以内にそれを取得し、socket(AF_ALG, ...)を呼び出したテストポッドは即座にEPERMを受け取りました。

率直な注意事項: kubelet seccompディレクトリを公開しないマネージドK8sサービス(一部のサーバーレスK8sオファリングはこれを隠蔽)を実行している場合、すべてのノードテンプレートでのmodprobeブラックリストが唯一の手段です。ブラックリストをノードイメージに組み込み、ノードプールを再デプロイし、kubectl debugで検証してください。

検知: すでにエクスプロイトされているかどうかを確認する方法

過去30日間の予期せぬsocket(AF_ALG, ...)システムコールについて、/var/log/auth.logおよびjournalctl -u containerdをgrepします。find / -perm -4000 -newer /etc/shadow -mtime -30を使用して新しいsetuidバイナリを確認します。SysdigはFalcoルール(Unexpected AF_ALG Socket Creation)を公開しており、Microsoft Defender XDRはシグネチャBehavior:Linux/CopyFailExploit.Aを提供しています。

bash
# 1. Auth.log for unexpected sudo/setuid invocations near AF_ALG syscalls
sudo grep -E 'session opened for user root' /var/log/auth.log* | \
  awk '{print $1, $2, $3, $11}' | sort | uniq -c | sort -rn | head -20
bash
# 2. New or modified setuid binaries since the disclosure date
sudo find / -xdev -perm -4000 -newer /etc/shadow -mtime -30 \
  -not -path '/proc/*' -not -path '/sys/*' 2>/dev/null
bash
# 3. Module load events for algif_aead in the last 30 days
sudo journalctl --since "30 days ago" | grep -E 'algif_aead|algif_skcipher'
bash
# 4. Falco rule reference (deploy via helm chart)
# https://github.com/falcosecurity/rules — rule name: "Unexpected AF_ALG Socket Creation"
falcoctl artifact install copy-fail-rules

ヒットが見つかった場合(デプロイしていない新しいsetuidバイナリ、または予期せぬユーザーに関連付けられたカーネルalgif_aeadロードイベント)、それは確定した侵害として扱ってください。資格情報をローテーションし、ホストを隔離し、インシデント対応チームにエスカレーションし、GDPRの72時間通知クロックが始まったかどうかを検討してください。過剰反応のコストはメンテナンスウィンドウですが、過少反応のコストは今後の18ヶ月のキャリアです。

強化: 火消し作業なしで次のカーネルCVEを乗り切る方法

Copy Failは、RuntimeDefaultを打ち負かす最後のカーネルCVEではありません。次のもっと痛みを伴わないものにするために、今四半期で実行できる6つのこと:

  • 最小限のカーネルモジュール表面。 使用しない場合は、algif_*、bluetooth、dccp、tipc、sctp、cifsをブラックリスト化してください。ほとんどのワークロードは使用しません。
  • すべてのワークロードでデフォルト拒否seccomp。 Localhostプロファイルを標準にしてください。RuntimeDefaultは床であり、天井ではありません。
  • イメージベースのノードリフレッシュ(Talos Linux、Bottlerocket、Flatcar)。アトミックな再起動、不変のカーネル、痛みのないロールバック。
  • ランタイム監視。 FalcoまたはTetragonが予期せぬシステムコールをリアルタイムで捕捉。システムコール表面が広いAIワークロードには、ランタイム観測性とペアリングします。
  • SIEMでの短命カーネルモジュールロードイベントのアラート。 必要のない本番ホストでalgif_aeadがロードされた場合、数秒以内に知りたいはずです。
  • 積極的にセキュリティ追跡しているベースラインにK8sバージョンとノードイメージをピン留め。 フローティングタグは、将来のインシデントを待っているだけです。

それが、次のものが落ちる前にCopy Failが私たちに教えてくれる教訓です。次のゼロデイを60分ではなく30分で処理できるチームは、すでにこれら6つのコントロールを出荷しているチームです。

よくある質問

私はCopy Fail (CVE-2026-31431)の影響を受けていますか?

2026年5月1日より前にリリースされたカーネル上で主要なLinuxディストリビューションを実行し、非特権シェルアクセスを許可している場合、ほぼ確実にイエスです。これには、すべてのマルチテナントボックス、すべてのKubernetesワーカー、すべてのCIランナーが含まれます。uname -rを実行し、上記のパッチ適用済みバージョン表と照合してください。CVSSは7.8です。

PSS Restricted即使在しても、私のKubernetesクラスターは脆弱ですか?

はい。seccompProfile.type: RuntimeDefaultを使用したPod Security Standards Restrictedは、socket(AF_ALG, ...)をブロックしません。Juliet.shはこれを直接テストしました。PSS Restricted plus RuntimeDefaultで実行されているポッドは、Copy Fail経由でホストカーネルをポップしました。Localhost seccompプロファイル(上記のK8s軽減策セクションで提供)が必要です。

Docker DesktopはCopy Failをブロックしますか?

Docker Desktopのデフォルトseccompプロファイルは多くのシステムコールをすでに拒否していますが、moby/moby PR #52501が取り込まれるまでAF_ALGをブロックしていませんでした。パッチ適用済みプロファイル(Docker 29.xバックポート)を含むリリースにDockerを更新するか、seccompプロファイルを手動で適用してください。その更新なしのLinux Dockerインストールは依然として露出しています。

seccomp RuntimeDefaultはこれを止めますか?

いいえ。RuntimeDefaultは未変更のコンテナランタイムプロファイル(Docker/containerdデフォルト)です。正当なワークロードが時々カーネル暗号APIを使用するため、socket(AF_ALG, ...)を許可します。修正策は、AF_ALGを明示的に拒否するLocalhostプロファイル(K8sセクションの完全なJSON)か、moby/moby PR #52501デフォルトへのアップグレードです。

今すぐカーネルを再起動できない場合はどうすればよいですか?

modprobeブラックリストとsocket(AF_ALG, ...)を拒否するLocalhost seccompプロファイルの組み合わせは、パッチ適用が可能になるまで十分です。どちらも再起動なしで適用できます。/etc/modprobe.d/copy-fail.confにblacklist algif_aeadを追加し、rmmod algif_aeadを実行し、seccompプロファイルをデプロイし、次のメンテナンスウィンドウで再起動してください。

Copy Failは野外で悪用されていますか?

2026年5月5日現在、Microsoftの脅威インテリジェンス投稿は野外での悪用を確認していませんが、Xintが公開した732バイトのエクスプロイトを考慮し、バグを「容易に武器化可能」と特徴付けています。エクスプロイトプリミティブクラス(splice経由のページキャッシュ書き込み)はDirty Pipe (CVE-2022-0847) と重複しており、こちらは開示後数週間以内に広く悪用されました。

Copy Failは特にAI/MLワークロードに影響しますか?

はい、不均衡にそうです。セルフホスト型推論(vLLM、sglang、Ollama)、エージェントランタイム、MCPサーバー、MLイメージ用のCIビルドは、日常的に信頼できないユーザーコードを実行します。PSS Restricted即使在しても、コンテナ内のこれらのいずれかがCopy Failをトリガーし、ホストをポップする可能性があります。GPUノードは、通常マルチテナントであるため、最も高いリスクプロファイルです。

Copy FailはDirty Pipeとどのように異なりますか?

どちらも任意のページキャッシュ書き込みを生み出すLinuxカーネルLPEですが、トリガー表面が異なります。Dirty Pipeはパイプへのsplice()を悪用しましたが、Copy Failはalgif_aead(AF_ALG)ソケットへのsplice()を悪用します。どちらも標準的なコンテナseccompデフォルトをバイパスします。Copy Failの特徴: AF_ALGパスはRuntimeDefaultを使用したPod Security Standards Restrictedから到達可能です。

結論

Copy Failは、プレイブックを端から端まで実行すれば、およそ60分でパッチ適用可能です。modprobeブラックリスト、カーネル更新、seccompプロファイル、検証。KubernetesおよびAIインフラの角度が、このCVEを通常のLPEとは異なるものにしています。RuntimeDefaultを使用したPSS Restrictedはあなたを救わず、単一の侵害された推論ポッドがホストをポップする可能性があります。modprobeブラックリストとLocalhost seccompプロファイルは、パッチ適用後でも持続的な防御策です。

インシデント対応ランブックに対するセカンドオピニオン、または次のカーネルCVEの前に硬化されたK8sベースラインが必要ですか?Techsyにお問い合わせください。私たちは本番AI/MLスタックのプラットフォーム強化を実行しています。

最終更新 2026-05-05。2026-05-12に新しいディストリビューションアドバイザリーについてポストを掃討します。

タグ

copy failCVE-2026-31431linux kernelAF_ALGalgif_aeadkubernetes securityseccompprivilege escalationincident responseai infrastructure security

記事をシェアする

関連記事

その他の記事 cybersecurity

cybersecurity
Jul 23, 2026

リリース前のSaaSセキュリティチェックリスト:最初に実行する40の項目(2026年版)

多くのリリースチェックリストは「何を保護すべきか」は教えてくれますが、「どのように行うか」は示しません。このリストはコードを提供します。シークレット、認証、テナント分離、依存関係、ヘッダー、モニタリングにわたる40の事前リリースチェックと、ほぼすべてのレビューで見逃されている落とし穴を含みます。

12 min read 分
読む
cybersecurity
May 20, 2026

GitHubがVS Code拡張機能によってハッキングされた(2026年5月):開発者が今夜実行すべき60分間の緊急プレイブック

GitHubは2026年5月20日、悪意のあるVS Code拡張機能を介して約3,800の内部リポジトリが流出したことを確認しました。就寝前にすべての開発者が実行すべき60分間のプレイブックと、見出しが誤解を招いている点を解説します。

14 min read 分
読む
cybersecurity
May 8, 2026

AIはデータ漏洩をどう防ぐのか:実際の攻撃を止めた7つの防御策(2026年)

2026年4月30日、約2億7,500万人の生徒が、自分のLMSが漏洩したことを知った。AIなら止められたのか?すでに本番環境で機能している7つの防御策と、今週中にアプリへ組み込む方法を解説する。

13 min read 分
読む
すべての記事を表示
プロジェクトを始めよう

さあ、何かを作ろう。 特別なものへ?

ビジョンを、かたちに。変化を生むソフトウェアづくりは、私たちのチームにお任せください。

30分のスコーピング通話を予約する実績を見る

注目のツール

Claude Skills

すべて表示
  • New Post

    Full SEO blog pipeline: research, brief, write, validate, image, translate, publish to Sanity. Autonomous from start to finish.

  • Content Refresh

    Audit a stale post, find decay drivers, and ship a SERP-aligned refresh without losing existing rankings.

  • SEO Audit

    Site-wide SEO audit with prioritized fix list: technical, on-page, and EEAT signals.

AI自動化

すべて表示
  • Security Auditor

    Weekly SCA + IaC scan with prioritized fix PRs.

  • Cold Email Writer

    Generates first-touch emails grounded in one specific public detail.

  • Lead Research Agent

    Enrich an email into a profile, score fit, alert in Slack.

注目のツール

Claude Skills

すべて表示
  • New Post

    Full SEO blog pipeline: research, brief, write, validate, image, translate, publish to Sanity. Autonomous from start to finish.

  • Content Refresh

    Audit a stale post, find decay drivers, and ship a SERP-aligned refresh without losing existing rankings.

  • SEO Audit

    Site-wide SEO audit with prioritized fix list: technical, on-page, and EEAT signals.

AI自動化

すべて表示
  • Security Auditor

    Weekly SCA + IaC scan with prioritized fix PRs.

  • Cold Email Writer

    Generates first-touch emails grounded in one specific public detail.

  • Lead Research Agent

    Enrich an email into a profile, score fit, alert in Slack.

サービス

  • エンタープライズソリューション
  • モバイルアプリ
  • Webアプリケーション

ソリューション

  • CRMシステム
  • AI統合
  • ERPソリューション
  • 音声エージェント
  • プロセス自動化
  • サイバーセキュリティ

ライブラリ

  • ブログ
  • ポートフォリオ

コミュニティ

  • AI自動化
  • Claude Skills

ツール

  • モバイルアプリ開発費用計算ツール
  • OpenAI / LLM API 利用料金計算ツール
  • MVP(Minimum Viable Product)開発費用計算ツール
  • 音声AIエージェント構築費用計算ツール

会社情報

  • 概要
  • パートナー
  • お問い合わせ

法的情報

  • プライバシーポリシー
  • 利用規約
  • クッキーポリシー

サービス

  • エンタープライズソリューション
  • モバイルアプリ
  • Webアプリケーション

ソリューション

  • CRMシステム
  • AI統合
  • ERPソリューション
  • 音声エージェント
  • プロセス自動化
  • サイバーセキュリティ

ライブラリ

  • ブログ
  • ポートフォリオ

コミュニティ

  • AI自動化
  • Claude Skills

ツール

  • モバイルアプリ開発費用計算ツール
  • OpenAI / LLM API 利用料金計算ツール
  • MVP(Minimum Viable Product)開発費用計算ツール
  • 音声AIエージェント構築費用計算ツール

会社情報

  • 概要
  • パートナー
  • お問い合わせ
法的情報プライバシーポリシー利用規約クッキーポリシー
TECHSY
© 2026 Techsy. 無断複写・転載を禁じます