
CVE-2026-31431の概念実証のC実装。LinuxカーネルのAF_ALGページキャッシュポイズニング脆弱性であり、ローカル権限昇格と、SUIDファイル汚染によるコンテナエスケープの可能性を可能にする。
CVE-2026-31431 をC言語で再現したPoC。ターゲット環境にPythonがない場合でも利用可能。
脆弱性の種類:Linux カーネル AF_ALG サブシステムのページキャッシュ汚染。SUID ファイルの内容を汚染することで、ローカル権限昇格と可能性としてコンテナエスケープを実現する。
影響を受けるカーネルバージョン:Linux カーネル 5.15 ~ 6.1.x(一部のそれより低いまたは高いバージョンも、AF_ALG 関連のコンパイルオプションによっては影響を受ける可能性がある)。
利用条件:
カーネルが CONFIG_CRYPTO_USER_API_AEAD をコンパイルしており、AEAD アルゴリズム(例:authenc(hmac(sha256),cbc(aes)))をサポートしているか、対応するモジュールがロードされていること。
攻撃者はローカルの低権限アカウントを持ち、任意のコードを実行できること(例:静的コンパイルされた ELF をアップロードする)。
ターゲットのファイルシステムが splice システムコールをサポートしていること。
ターゲットマシン上で直接 copy_fail ファイルをアップロードして実行するか、copy_fail.c ファイルを自分でコンパイルすることもできる。
静的コンパイルを推奨(glibc バージョン依存を回避):gcc -static -o copy_fail copy_fail.c
./copy_fail
本コードは、公式に提供された Python の PoC を書き換えて作成されたものである。
本コードはセキュリティ研究、教育、および合法的な認可を受けたテストのみを目的としており、不正な攻撃に使用することは厳禁である。使用者はすべての法的責任を自ら負うものとする。