Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-31431-CopyFail — CVE-2026-31431(Copy Fail)の概念実証エクスプロイト。algif_aeadのページキャッシュ破損を介したLinuxカーネルのLPEであり、検出、ラボ、緩和策のガイダンスを含む。 | Kitploit
ツール/GitHubGitHub/0xfuffm3/cve-2026-31431-copyfail
特権昇格脆弱性分析エクスプロイトペネトレーションテスト学習と教育コンテナエスケープバイナリエクスプロイトラボと実践
GitHub0xfuffm3/cve-2026-31431-copyfail

CVE-2026-31431-CopyFail

CVE-2026-31431(Copy Fail)の概念実証エクスプロイト。algif_aeadのページキャッシュ破損を介したLinuxカーネルのLPEであり、検出、ラボ、緩和策のガイダンスを含む。

リポジトリを見る
224ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
                     ██████╗ ██████╗ ██████╗ ██╗   ██╗    ███████╗ █████╗ ██╗██╗
                    ██╔════╝██╔═══██╗██╔══██╗╚██╗ ██╔╝    ██╔════╝██╔══██╗██║██║
                    ██║     ██║   ██║██████╔╝ ╚████╔╝     █████╗  ███████║██║██║
                    ██║     ██║   ██║██╔═══╝   ╚██╔╝      ██╔══╝  ██╔══██║██║██║
                         ╚██████╗╚██████╔╝██║        ██║       ██║     ██║  ██║██║███████╗
                          ╚═════╝ ╚═════╝ ╚═╝        ╚═╝       ╚═╝     ╚═╝  ╚═╝╚═╝╚══════╝

CVE-2026-31431 — "Copy Fail"

Linuxカーネルのローカル権限昇格 — algif_aead ページキャッシュ破損


CVE CVSS Kernel License Status


⚠️ 許可された使用のみ — このリポジトリは、合法的な許可の下で活動するペネトレーションテスター、セキュリティ研究者、防御者のみを対象としています。誤った使用は犯罪行為です。


📖 目次

#セクション説明
1Copy Failとは?脆弱性概要
2技術的詳細根本原因分析
3影響を受けるシステムディストリビューション&カーネルマトリックス
4リポジトリ構造ファイル構成
5ラボ環境のセットアップ安全に再現する方法
6エクスプロイトの使い方ペンテストのワークフロー
7検知YARA、Sigma、スクリプト
8緩和策パッチとハードニング
9ペンテストレポートレポートテンプレート
10法的・倫理的注意免責事項
11参考文献CVE、アドバイザリ、ブログ

🔍 Copy Failとは?

Copy Fail は、2026年4月29日に公開された**ローカル権限昇格(LPE)**脆弱性で、2017年以降のカーネルを実行するほぼすべての主要なLinuxディストリビューションに影響します。

権限のないユーザー  ──►  AF_ALG + splice()  ──►  4バイトのページキャッシュ書き込み  ──►  ROOT

重要な事実

プロパティ詳細
CVE IDCVE-2026-31431
ニックネームCopy Fail
CVSS v3.17.8 (高)
攻撃ベクトルローカル
必要な権限低(任意の権限のないユーザー)
ユーザー操作不要
発見者Xint Code (Theori)
公開日2026年4月29日
エクスプロイトサイズ732バイト(Python PoC)
パッチ状況✅ 利用可能 — コミット a664bf3d603d を差し戻し

危険な理由

  • 🕵️ ステルス性 — 変更はページキャッシュ内のみに留まり、ディスク上のファイルは決して変更されません。標準的なディスクフォレンジックでは検知できません。
  • ⚡ 信頼性 — 決定論的なロジックの欠陥であり、レースコンディションではありません。環境間で一貫した悪用が可能です。
  • 🌐 普遍性 — Ubuntu、RHEL、Amazon Linux、SUSE、Debianなど、2017年以降の主要ディストリビューションすべてに影響します。
  • ☸️ クラウド/K8sへの影響 — KubernetesワークロードやCI/CDランナーにおけるコンテナエスケープを容易にします。
  • 🤖 AIによる発見 — Xint CodeのAIシステムにより、約1時間のスキャン時間と単一のオペレータープロンプトで発見されました。

🔬 技術的詳細

根本原因

この脆弱性は、2017年に導入された(commit 72548b093ee3)Linuxカーネルのユーザー空間暗号API(AF_ALG)の algif_aead モジュール内のバグのあるインプレース最適化に起因します。

AF_ALG (ユーザー空間暗号API)
└── algif_aead モジュール
    └── authencesn テンプレート  ◄── 脆弱
        └── インプレース最適化 (2017)
            └── req->src == req->dst  ◄── splice() からのページが書き込み可能なdstスキャッターリストにチェーンされる

攻撃の流れ

Step 1: AF_ALG AEADソケットを開く
        socket(AF_ALG, SOCK_SEQPACKET, 0)

Step 2: ターゲットファイルを参照するsplice()ページを送信
        (特権バイナリのページキャッシュページ、例: /usr/bin/sudo)

Step 3: authencesnのスクラッチ書き込みをトリガー
        authencesnがdstバッファをスクラッチパッドとして使用 →
        正規の出力領域を超えて4バイトの制御可能なデータを書き込む

Step 4: ターゲットファイルのページキャッシュエントリが破損する
        (ディスクファイルは未変更 — メモリ上のコピーのみ改変)

Step 5: 改変されたバイナリを実行 → ROOT

なぜページキャッシュなのか?

Linuxカーネルのページキャッシュは、ファイルのメモリ上のコピーをバックします。ファイルが読み込まれると、そのページはキャッシュされます。splice() システムコールは、これらのキャッシュされたページを直接参照できます。ページキャッシュページをAF_ALG AEADスキャッターリストに渡すことで、authencesnのスクラッチ書き込みはそのキャッシュページ内に着地し、読み取り可能なあらゆるファイル(sudo、pkexec、passwdなどの特権バイナリを含む)のメモリ上のコピーを事実上パッチすることになります。

修正

アップストリームの修正は、欠陥のある2017年の最適化を差し戻します:

# コミット a664bf3d603d で修正済み
git show a664bf3d603d

🖥️ 影響を受けるシステム

Linuxカーネルバージョン

カーネルブランチ影響あり?修正バージョン
4.9.x (LTS)✅ はい4.9.340+
5.4.x (LTS)✅ はい5.4.295+
5.10.x (LTS)✅ はい5.10.239+
5.15.x (LTS)✅ はい5.15.185+
6.1.x (LTS)✅ はい6.1.132+
6.6.x (LTS)✅ はい6.6.83+
6.12.x (LTS)✅ はい6.12.19+
< 4.9 (2017年以前)❌ いいえ該当なし — 最適化が存在しない

ディストリビューションマトリックス

ディストリビューション影響を受けるバージョンパッチ適用済み?アドバイザリ
Ubuntu< 26.04 (すべてのリリース)✅ パッチ適用済みUSN
Ubuntu 26.04 (Resolute)❌ 影響なし——
RHEL / CentOS7, 8, 9✅ パッチ適用済みRHSA-2026
Amazon Linux2, 2023✅ パッチ適用済みALAS
SUSE / openSUSEすべて影響あり✅ パッチ適用済みSUSE-SU
DebianBullseye, Bookworm✅ パッチ適用済みDSA
CloudLinux8, 9✅ パッチ適用済みアドバイザリ

📁 リポジトリ構造

CVE-2026-31431-CopyFail/
│
├── 📄 README.md                          ← 現在地
├── 📄 LICENSE                            ← 研究・教育用ライセンス
├── 📄 DISCLAIMER.md                      ← 法的・倫理的使用ポリシー
├── 📄 CHANGELOG.md                       ← バージョン履歴
│
├── 📂 docs/
│   ├── vulnerability-analysis.md         ← 詳細:根本原因とメカニズム
│   ├── exploitation-walkthrough.md       ← ステップバイステップの方法論
│   ├── affected-kernels.md               ← 完全なカーネル/ディストリバージョン表
│   ├── detection.md                      ← Defender、Tenable、Wazuhの対応状況
│   └── references.md                     ← すべてのCVE、ブログ、アドバイザリ
│
├── 📂 exploit/
│   ├── README.md                         ← 使用方法、前提条件、テスト済みディストリ
│   ├── copyfail.py                       ← 参考PoC(教育用)
│   ├── trigger.c                         ← AF_ALG + splice() Cトリガー
│   └── variants/
│       ├── ubuntu.py                     ← Ubuntu向けバリアント
│       ├── rhel.py                       ← RHEL/CentOS向けバリアント
│       └── amazon_linux.py              ← Amazon Linux向けバリアント
│
├── 📂 detection/
│   ├── yara/
│   │   └── copyfail.yar                  ← エクスプロイトアーティファクト用YARAルール
│   ├── sigma/
│   │   └── copyfail_lpe.yml              ← SIEM/SOC用Sigmaルール
│   └── scripts/
│       ├── check_vulnerable.sh           ← カーネル脆弱性の簡易チェック
│       └── detect_algif_aead.sh         ← モジュールがロード/アクティブか確認
│
├── 📂 mitigation/
│   ├── README.md                         ← 緩和策の概要
│   ├── disable_algif_aead.sh             ← 影響を受けるカーネルモジュールを無効化
│   ├── patch-notes.md                    ← アップストリームパッチの詳細
│   └── kubernetes-hardening.md          ← K8s / コンテナのハードニング
│
├── 📂 lab/
│   ├── Vagrantfile                       ← 再現可能な脆弱VM
│   ├── setup.sh                          ← ラブのブートストラップスクリプト
│   └── docker/
│       └── Dockerfile                    ← 脆弱なUbuntuコンテナ
│
├── 📂 reports/
│   ├── pentest-report-template.md        ← クライアント向けレポートテンプレート
│   └── sample-finding.md                ← サンプル調査報告書
│
└── 📂 assets/
    ├── demo.gif                          ← (オプション) 端末デモ
    └── diagrams/
        └── page-cache-write.png         ← 攻撃フロー図

🧪 ラボ環境のセットアップ

必ず隔離された認可環境でテストしてください。本番システムでエクスプロイトを実行しないでください。

オプションA — Vagrant VM(推奨)

# リポジトリをクローン
git clone https://github.com/0xFuffM3/CVE-2026-31431-CopyFail.git
cd CVE-2026-31431-CopyFail

# 脆弱なラボVMを起動
cd lab/
vagrant up

# ラボにSSH
vagrant ssh

# カーネルバージョンの確認(脆弱であるべき)
uname -r

オプションB — Dockerコンテナ

cd lab/docker/

# 脆弱なコンテナイメージをビルド
docker build -t copyfail-lab .

# カーネル操作に必要な権限で実行
docker run --rm -it --privileged copyfail-lab /bin/bash

システムが脆弱か確認

# 簡易チェックスクリプトを実行
chmod +x detection/scripts/check_vulnerable.sh
./detection/scripts/check_vulnerable.sh
ツールをダウンロード