
CVE-2026-31431の概念実証エクスプロイト。algif_aeadを介したローカル権限昇格を可能にするLinuxカーネルのページキャッシュ破損の脆弱性です。exploit.pyと緩和策のガイダンスが含まれています。
CVE-2026-31431 脆弱性に対するプロフェッショナルな概念実証コード。Linux カーネルの algif_aead / authencesn ページキャッシュ処理における重大な欠陥です。
CVE-2026-31431 脆弱性は、通称 「Copy Fail」 と呼ばれ、2026年4月29日に公開されたページキャッシュのスクラッチ書き込みバグです。この脆弱性により、権限のないローカルユーザーがディスク上のファイルを変更することなく、/etc/passwd や /usr/bin/su などのシステム上重要なファイルのページキャッシュビューを破壊でき、ローカル権限昇格(LPE) が可能になります。[1]
algif_aead コンポーネントは、AEAD(Associated Data 付き認証暗号化)操作をインプレースで実行します。ソースデータが通常のファイルから splice() を介して供給されると、宛先 scatterlist はファイルのページキャッシュページを参照します。authencesn(hmac(sha256), cbc(aes)) アルゴリズムは、AAD の seqno_lo フィールドの4バイトの「スクラッチ」書き込みを宛先に対して実行し、ページキャッシュのコピーを直接破壊します。[1]
| ディストリビューション | ステータス |
|---|---|
| Ubuntu 24.04 LTS | 脆弱性確認済み |
| Amazon Linux 2023 |
注: アップストリームのリバートが適用されていない、コミット
72548b093ee3(2017年まで遡る)を含むカーネルはすべて影響を受ける可能性があります。
| ファイル | 説明 |
|---|---|
exploit.py | システムバイナリを標的とした LPE プリミティブのコンパクトな実装。 |
提供されたエクスプロイトスクリプトを使用して root シェルを取得するには:
python3 exploit.py
このスクリプトは、/usr/bin/su または /etc/passwd のページキャッシュ破壊を自動化して権限を昇格させます。機密性の高いシステムコンポーネントと相互作用するため、実行前にコードを十分にレビューすることをお勧めします。
コアとなるプリミティブは、以下のシーケンスを利用します:
sendmsg を初期化します。splice() で操作ソケットに渡します。recv() をトリガーします。これにより、エラーを返す前にスクラッチ書き込みが実行されます。パッチ適用済みカーネルが展開されるまで、algif_aead モジュールを無効化する必要があります:
sudo tee /etc/modprobe.d/disable-algif-aead.conf <<<'install algif_aead /bin/false'
sudo rmmod algif_aead 2>/dev/null
警告: このツールは、教育および許可されたセキュリティ評価のみを目的としています。所有していない、または明示的なテスト許可がないシステムに対する不正使用は、違法かつ非倫理的です。著者は誤用に対する責任を負いません。
[1] Xint Blog: Copy Fail - Linux Distributions Disclosure
© 2026 BEN
| 脆弱性確認済み |
| RHEL 14.3 | 脆弱性確認済み |
| SUSE 16 | 脆弱性確認済み |