Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-6307 — Google Chrome CVE-2026-6307 PoC | Kitploit
ツール/GitHubGitHub/0xsha/cve-2026-6307
Vulnerability AnalysisExploitationShellcodeWeb Application ExploitationLearning & EducationShellcode GenerationPayload DevelopmentBinary ExploitationLabs & Practice
GitHub0xsha/cve-2026-6307

CVE-2026-6307

Google Chrome CVE-2026-6307 PoC

53131ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
リポジトリを見る

CVE-2026-6307: V8 JS-to-Wasm 型混同 → Chrome 146 での RCE

V8 JS-to-Wasm デオプティマイゼーション型混同のローカル再現と武器化。Nebula による説明。Chrome for Testing 146.0.7680.165 のレンダラーから xcalc をポップ (バグは 147.0.7727.101 で修正済み)。

すべてのペイロードは無害 (電卓 / exit(0x42) / jmp $)。 すべて、ローカルラボ内の意図的に古いブラウザに対して実行します。 他の人に向けないでください。

デモ

https://github.com/user-attachments/assets/d450f064-ba52-4f39-a88b-367f31217143

バグ

JSToWasmFrameStateFunctionInfo の等価演算子が Wasm シグネチャ比較を省略しているため、CSE/GVN はシグネチャのみ異なるフレーム状態をマージします。遅延デオプトは Wasm i64 をタグ付き externref としてマテリアライズし (逆も同様)、完全な 64 ビットの addrof/fakeobj を与えます。そのポインタはケージ圧縮されていません (Wasm 参照はタグ付きレジスタ表現を使用し、kReturnRegister0 経由で返されます)。

以下はすべて 146.0.7680.165 でライブ検証 済み。読み込みごとの数値は、繰り返し実行でのヒット率を測定したものです (混乱は GC に敏感で、各ページはダーティビルド上で再起動します)。偽陽性は一度も発生しませんでした。

フラグ不要のプリミティブ — --allow-natives-syntax なし

ほとんどの V8 バグ PoC は %OptimizeFunctionOnNextCall (テスト専用の組み込み関数で、実際の被害者が有効にすることはない --allow-natives-syntax の背後にゲートされている) で最適化を強制します。これらは フラグを一切使わずに、ウォームアップフィードバックを整形してデオプト混乱が自然に発火するようにすることでバグを駆動します。すべてのアドレスは実行時に漏洩 — ハードコードはありません。フラグなしでヘッドレス実行できます。

可視 RCE — ASLR なしのラボビルド

rce-no-aslr/ はコード実行に至ります: 最適化された JS 関数 g が JIT ダブルリテラル (movabs 定数、各々が eb rel8 で終わり次の定数へ連結) として execve シェルコードをステージングし、混乱したストアが g のコードに nop; jmp をパッチし、g() を呼び出すと RIP がシェルコードにスライドします。

このビルドは --allow-natives-syntax (%Optimize で g の JIT ペイロードを固定し、デオプト-GC がフラッシュできないようにする) と --no-memory-protection-keys (混乱ストアが JIT ページをパッチできるように — そうしないと V8 の PKU が読み取り専用にする) を使用します。ASLR はオフ (randomize_va_space=0) なのでアドレスは決定論的です (A_MAP = 0x5555bbc0128a)。レンダラーは --disable-seccomp-filter-sandbox --no-zygote も必要です。seccomp がシェルコードの execve をブロックするためです。

実行方法

ネイティブ x86_64 Linux、ASLR オフ、PATH 上の Chrome 146、:0 上の X ディスプレイ (Xvfb または実 X)。rce-no-aslr/run.sh がすべてのフラグを設定し、http で提供します。

root@kitploit:~
cd rce-no-aslr
./run.sh calc          # http://127.0.0.1:8080、:0 で実際の xcalc をポップ
./run.sh exit          # strace でレンダラーの exit(66) を確認
./run.sh jmp           # gdb で注入されたシェルコード内の RIP を確認
./demo.sh calc            # クリーンスレート + 自動リトライ、フルサイズのヘッドフルブラウザ (録画用)
./demo.sh msgbox          # 同上、ただしポップはブランド化された "0xSha :: pwned" ボックス

pocmode.sh calc|msgbox は RCE の execve("/usr/bin/xcalc") が起動するものを切り替えます (実際の電卓 vs ブランド化ボックス)。フラグ不要のプリミティブはブラウザのみ必要です:

root@kitploit:~
chrome --headless=new --no-sandbox http://127.0.0.1:8080/flag-free/01-primitives-flagfree.html

レイアウト

root@kitploit:~
flag-free/   フラグ不要のコントリビューション (--allow-natives-syntax なし)
  00-reachability   トリガー + パッチ差分 (脆弱 146 vs パッチ済み 147)
  01-primitives     addrof / fakeobj
  02-store          ケージ外ストア
  03-arw            ケージ内 read64 / write64
rce-no-aslr/   可視 RCE (決定論的、ASLR なしのラボビルド)
  exploit-calc.html / exploit-exit.html
  run.sh, demo.sh, pocmode.sh, xcalc-msgbox.sh

バグと根本原因の解説: Nebula Security (上記リンク)。このリポジトリ内のフラグ不要トリガー、プリミティブ、および可視動作は、ローカルラボで検証された再現/拡張です。

ツールをダウンロード
ファイル証明内容検証結果
flag-free/00-reachability-flagfree.html混乱状態をトリガー; 脆弱な 146 で発火、パッチ済み 147 ではしない読み込み 6/15
flag-free/01-primitives-flagfree.htmladdrof / fakeobj (fakeobj(addrof(o))===o)8/12
flag-free/02-store-flagfree.htmlケージ外ストアが選択された値を選択されたオブジェクトに書き込む12/12
flag-free/03-arw-flagfree.htmlケージ内 read64 / write64 (偽の PACKED_DOUBLE 配列)2/12 (不安定、再試行)
ファイル証明内容検証結果
rce-no-aslr/exploit-calc.htmlレンダラーから execve 経由で実際の xcalc ウィンドウをポップクリーンスレートで約1秒でポップ
rce-no-aslr/exploit-exit.htmlレンダラーが注入されたシェルコードを実行して exit(66); #jmp はその中で RIP をスピンexit(66) 8/8 (strace)