使いどころ
- Linux 環境でローカルの一般ユーザーから root へ昇格したいとき(CVE-2026-31431「Copy Fail」)
目的
/usr/bin/suを書き換え、suの実行で root shell を得る
前提条件
python3が使えること/usr/bin/suが存在すること- 脆弱なカーネルであること(対象のバージョンは、NVD で要確認)
特徴
- 732バイトの Python のみで完結し、コンパイル・ファイル転送が不要(コピペで実行できる)
手順
1. PoC の用意
スクリプトをターゲットホストに配置する。(ファイル名: copy_fail_exp.py )
スクリプトは最小で 732 Bytes しか無いため、コピペした内容を直接ターゲットに貼ったほうが早い。(ファイルの転送が楽)
ターゲットにインストールされている Python のバージョンによって、スクリプトも異なるので、気をつけること(
python3 --versionで確かめる)
Python 3.10 以降
Python 3.9 以前
- Python 3.10 用のスクリプトでは、
os.spliceを利用する os.spliceは Python 3.10 で追加されたため、3.10 未満ではスクリプトを書き換える必要がある。- 私はビビって、ここに載せられないので、AIに依頼して作成してもらってください💦
2. PoC の実行
Ch4n24n@htb[/htb]$ python3 copy_fail_exp.py && su注意・落とし穴
- PoC は
/usr/bin/suを直接書き換える。実際の案件では、対象のシステムに手を入れることになる
参考
おわりに
- この脆弱性が発表されたときは、過去のBoxの殆どがこれで解けるじゃん!と思い、衝撃を受けました💦
- 執筆時点でもかなりお世話になっている脆弱性です笑