
CVE-2025-2783(Ipczサンドボックスエスケープ&RCE)向けフルチェーンエクスプロイト。
このリポジトリには、CVE-2025-2783 のフルチェーンエクスプロイト実装が含まれています。この脆弱性は Chromium の Ipcz 通信レイヤに存在し、攻撃者が制限されたレンダラープロセスからサンドボックスエスケープと任意のコード実行を達成することを可能にします。本エクスプロイトはバージョン 134.0.6998.177 までをサポートしています。
https://github.com/user-attachments/assets/a3e2bf34-739c-4db7-9101-0f4d48987ad0
src/: コアエクスプロイト実装。Ipcz ハイジャックロジック、V8 フック、および CVE-2025-2783 向けのスレッドハイジャック実行フローを含みます。demo/: フルチェーンデモ環境。HTML ファイルを介して V8 型混乱(Type Confusion)脆弱性をトリガーし、src/ からコンパイルされたバイナリペイロードを読み込み、レンダラープロセスからシェルコード実行までの全チェーンを完成させます。third_party/ipcz(Chromium の Ipcz トランスポートプロトコル実装)RelayMessage を処理する際にクロスプロセスハンドルの厳格な送信元・パーミッション検証を欠いています。demo/ 環境内の JavaScript からのシグナルを、V8Console::Debug をフックしてインターセプトし、ArrayBuffer から第2段階シェルコードを安全に抽出します。OnAcceptRelayedMessage をフックし、偽装されたリレー要求(メッセージID: 0x69)を構築して、CVE-2025-2783 経由で高権限ハンドルを取得します。SetThreadContext を使用して強制的にレジスタ状態を変更します。VirtualAlloc、ReadProcessMemory、CreateThread を順次呼び出し、シェルコードを実行します。src/)コードは Chromium 内部の ipcz および mojo ライブラリに深く依存しているため、GN と Ninja を使用して src/ ディレクトリを Chromium ソースツリーに統合しビルドすることを強く推奨します。これにより、すべての内部依存関係が正しくリンクされます。
demo/)src/ からのバイナリアーティファクトを用意します(事前コンパイル済みの payload.bin と shellcode.bin は demo/ ディレクトリに既に提供されています)。demo/ ディレクトリで python -m http.server を実行し、ブラウザで http://127.0.0.1:8000/exp.html にアクセスします。このリポジトリは学術およびセキュリティ研究目的のみで提供されます。著者は、このコードの使用によって生じたいかなる損失や法的責任についても一切の責任を負いません。テストは許可された環境でのみ実施してください。