Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-31431-live-code-corruption — CVE-2026-31431(Copy Fail)新規エクスプロイト:ページキャッシュを介したライブコード破壊。MAP_PRIVATEページ共有を通じてlibcのexit()コードを上書き — 実行中の全プロセスに影響。 | Kitploit
ツール/GitHubGitHub/ikow/cve-2026-31431-live-code-corruption
特権昇格エクスプロイトフレームワーク脆弱性分析エクスプロイトバイナリエクスプロイト
GitHubikow/cve-2026-31431-live-code-corruption

CVE-2026-31431-live-code-corruption

CVE-2026-31431(Copy Fail)新規エクスプロイト:ページキャッシュを介したライブコード破壊。MAP_PRIVATEページ共有を通じてlibcのexit()コードを上書き — 実行中の全プロセスに影響。

リポジトリを見る

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
13ヶ月前未レビュー

CVE-2026-31431 — ページキャッシュ経由のライブコード破壊

Linuxカーネルのページキャッシュを通じて実行中プロセスの実行可能コードを破壊し、root権限昇格を達成する、CVE-2026-31431(「Copy Fail」)の新しい悪用手法です。

何が違うのか

このCVEの公開済みエクスプロイトはすべてデータファイルを破壊するもの — /etc/passwdを変更してrootのUIDを書き換えたり、ディスク上のsetuidバイナリにパッチを当てたりします。このエクスプロイトは根本的に異なることを行います:カーネルのページキャッシュ機構を通じて、メモリ内のライブ実行可能コードを破壊します。

公開済みエクスプロイト本エクスプロイト
ターゲットデータファイル(/etc/passwd、/usr/bin/su)実行可能コード(libc .text セクション)
メカニズムプログラムが解析するファイル内容CPUが直接実行するコードページ
影響範囲単一ファイルlibcをマッピングする全プロセス
ディスク変更あり(ファイル内容が変更される)なし(メモリ内のページキャッシュのみ)
検出ファイル整合性監視ファイルシステム検査では不可視

仕組み

ページキャッシュの洞察

LinuxがMAP_PRIVATEで共有ライブラリをマッピングするとき、ファイルページを即座にコピーしません。代わりに、プロセスのページテーブルエントリはページキャッシュの物理ページを直接指します。コピーは書き込み時(コピーオンライト)にのみ発生します。コードページ(.text)の場合、プロセスはそれらに書き込むことはありません — そのため、ページキャッシュと永久に共有されたままになります。

root@kitploit:~
Process A (bash)     Process B (su)      Page Cache (libc)
  ┌──────┐            ┌──────┐            ┌──────────┐
  │ PTE  │───────────>│      │            │ exit():  │
  │      │            │ PTE  │───────────>│ endbr64  │
  └──────┘            └──────┘            │ push rax │
    MAP_PRIVATE         MAP_PRIVATE       │ ...      │
    (clean page)        (clean page)      └──────────┘
                                               ↑
                                    Copy Fail writes here!

CVE-2026-31431により、読み取り可能な任意のファイルのページキャッシュへの制御された4バイト書き込みが可能になります。libcのコードページを破壊することで、すべてのプロセスが実行する命令を変更します。

エクスプロイト

  1. シェルコード(39バイト)をlibcのページキャッシュ内のon_exit()関数の場所に書き込む — 4バイトずつ10回の書き込み
  2. exit()をパッチしてシェルコードにジャンプさせる — 4バイトの書き込み1回
  3. トリガー: exit()を呼び出す任意のプログラム(事実上すべてのプログラム)がシェルコードを実行

シェルコードはsetuid(0) → setgid(0) → execve("/bin/sh")を実行し、rootシェルを取得します。

CVE-2026-31431 概要

  • バグ: crypto/algif_aead.cの論理エラー — 2017年のインプレース最適化(72548b093ee3)により、splice()がページキャッシュページをAEAD復号に供給できるようになりました。authencesnアルゴリズムのESN再配置が4バイトのスクラッチデータをソースscatterlistに書き戻し、スプライスされたファイルのページキャッシュを破壊します。
  • プリミティブ: 読み取り可能な任意のファイルのページキャッシュへの決定的な4バイト書き込み
  • 要件: なし — AF_ALGソケットは非特権ユーザーが利用可能
  • 修正: 暗号操作の前にアウトオブプレースバッファにコピー(カーネル6.12.85+、6.15+)

使用方法

root@kitploit:~
# コンパイル
gcc -o exploit exploit.c

# 非特権ユーザーとして実行
./exploit /lib/x86_64-linux-gnu/libc-2.31.so

# トリガー — 任意のプログラムを実行(exit()を呼び出します)
su -c id
# uid=0(root) gid=0(root) groups=0(root)

テスト済み環境

  • カーネル: 6.12.79(Ubuntu/Debian、6.12.85での修正前)
  • glibc: 2.31-0ubuntu9.7
  • 結果: 完全なrootシェル、カーネルログで確認済み: process 'id' launched '/bin/sh'

ファイル

  • exploit.c — シェルコード注入を含む完全なエクスプロイト
  • copyfail_test.c — プリミティブ検証(4バイト書き込みのテスト)

タイムライン

  • 2017: インプレース最適化が導入(72548b093ee3)
  • 2026-04-29: CVE-2026-31431が公開
  • 2026-04-30: カーネル6.12.85で修正がリリース
  • 2026-05-06: 本エクスプロイト開発(新しいライブコード破壊手法)

参考

  • NVD — CVE-2026-31431
  • 修正コミット
  • Copy Fail分析(Xint)

免責事項

このツールは、許可されたセキュリティ研究および教育目的のみで提供されています。所有していない、または明示的なテスト許可がないシステムに対して使用しないでください。

関連: Dirty Frag(2026年5月7日)

Dirty Fragは、同じバグクラスのページキャッシュ書き込みバリアントをさらに2つ公開しました:

  • ESPパス(esp4/esp6): Copy Failと同じauthencesnシンク。IPsec ESP-in-UDP経由で到達。ユーザー名前空間が必要。4バイト書き込み。
  • RxRPCパス(rxrpc/rxkad): スプライス固定ページ上のpcbc(fcrypt)インプレース復号。名前空間は不要。8バイト書き込み。

このリポジトリのライブコード破壊手法は、これらのページキャッシュ書き込みプリミティブのいずれでも動作します — write4()関数をESPまたはRxRPCトリガーに置き換えるだけです。この手法はプリミティブ非依存です。

ツールをダウンロード