
CVE-2025-24201 WebKit脆弱性検出器 (PoC)
この概念実証コードは、WebKit ベースのブラウザが CVE‑2025‑24201 に対して脆弱かどうかを検出します。これは、WebGL 実装における不適切な機能検証によって引き起こされる、深刻度の高いバッファ外書き込み(out-of-bounds write)の脆弱性です。
CVE‑2025‑24201 は、WebGLRenderingContext(WebGL 1)が定数 PRIMITIVE_RESTART_FIXED_INDEX(0x8D69)の有効化を許可したときに発生します。この機能は WebGL 2 でのみ有効であり、GL_INVALID_OPERATION または GL_INVALID_ENUM エラーを生成せずに許可される場合に問題となります。
この誤動作は、インデックスバッファを含む描画呼び出し中にメモリ破損を引き起こす可能性があります。
この PoC は以下の手順を実行します。
canvas.getContext("webgl") を介して WebGL 1 コンテキストを作成します。0x8D69 を有効化しようと試みます。gl.getError() の戻り値を確認します。エラーが返されない場合、その実装は脆弱である可能性が高いです。
index.html – 検出を実行し、結果と内部ログを画面に出力する単体の HTML ファイル。README.md – このファイル。テストしたいブラウザで index.html ファイルを開くだけです。
期待される結果:
🛡️ 安全 – エラーが返される → 脆弱ではない✅ 脆弱 – gl.enable(0x8D69) でエラーが発生しない → 脆弱The_Maxu