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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/eddinos2/cve-2026-78938
脆弱性分析エクスプロイトウェブセキュリティバイナリエクスプロイト
GitHubeddinos2/cve-2026-78938

CVE-2026-78938

CVE-2026-78938の根本原因分析と動作するエクスプロイト。V8 TurboFanの型混同により、圧縮ヒープ内での任意の読み書きが可能になります。クラッシュPoCとランタイムアドレス指定プリミティブを含みます。

リポジトリを見る
1日前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有

CVE-2026-78938 — V8 TurboFan CheckMaps インスタンス移行型混同

CVE-2026-78938の根本原因分析とエクスプロイト。V8のTurboFanロード除去における型混同で、Chrome 152.0.7977.64(V8 15.2.124.18)で修正されました。このバグは実環境で悪用されたと報告されています。

このエクスプロイトは、バグを範囲外のFloat64Arrayに変え、そこからaddrof/fakeobjおよびV8圧縮ヒープ上の任意読み書きを実現します。最初の書き込み以降はすべて実行時に特定されます。R/Wステージにはハードコードされたヒープオフセットはありません。

  • 影響を受けるバージョン: Chrome 152.0.7977.54(V8 15.2.124.13、コミット 8ec91943)
  • 修正バージョン: Chrome 152.0.7977.64/.65(V8 15.2.124.18、コミット 6aacaf62)
  • 修正コミット: 50597b0bb48a — 「[compiler] インスタンス移行を伴うCheckMapsで追跡フィールドを無効化」

macOS arm64上で、両バージョンのローカルビルドd8に対してテスト済みです。

内容

ファイル説明
pocs/crash.js最小トリガー。脆弱なビルドではSIGBUS、パッチ適用済みビルドでは正常終了。
pocs/rw_final.js完全なエクスプロイト、ステージ1: トリガー + OOB配列。固定済み — 下記「再現方法」を参照。
pocs/logic_final.js完全なエクスプロイト、ステージ2: addrof/fakeobj/任意R\W。ステージ1によって実行時にロードされます。
WRITEUP.md完全な根本原因分析とエクスプロイトのメモ。

再現方法

2つのd8バージョンをビルドし(正確なコミットとGN引数はWRITEUP.mdを参照)、リポジトリのルートから実行します:

root@kitploit:~
# クラッシュPoC: 脆弱版ではSIGBUS、パッチ適用版では正常終了
out/vuln/d8    --allow-natives-syntax --homomorphic-ic --max-valid-polymorphic-map-count=4 pocs/crash.js
out/patched/d8 --allow-natives-syntax --homomorphic-ic --max-valid-polymorphic-map-count=4 pocs/crash.js

# 完全なR/W: 脆弱版では動作、パッチ適用版では正常に終了
out/vuln/d8 --allow-natives-syntax --homomorphic-ic --max-valid-polymorphic-map-count=4 pocs/rw_final.js

脆弱なビルドでの期待される出力:

root@kitploit:~
[+] OOB Float64Array len=0x7f000004
[+] after write: victim2.z = 2.5
[+] fakeobj(hn|1) typeof=number
[+] ALL PRIMITIVES VERIFIED

重要な点が2つあります:

  1. フラグは必須です。 --homomorphic-ic --max-valid-polymorphic-map-count=4 は、最適化されたコードで移行パスが取られるように多態的マップフィードバックを整形します。これらがないと、トリガーは静かに何も行いません。
  2. pocs/rw_final.js はバイト単位で固定されています。 単一の破壊的書き込みは、victim配列が割り当てられる場所に依存するヒープ相対オフセットに着地します。これはさらにスクリプトの正確なバイトとパスに依存します。ファイルを編集(または名前変更)すると、組み込まれたオフセットが無効になります。再調整方法はWRITEUP.mdに記載されています。pocs/logic_final.jsはトリガー発火後にロードされるため、自由に編集できます。

メモ

  • 実証されるプリミティブは、V8サンドボックス内(圧縮ヒープ)での任意読み書きです。コード実行を取得するにはさらにサンドボックス脱出(例: WasmインスタンスのRWXコード領域の破壊)が必要であり、これはこの文書の範囲外です。
  • エクスプロイト内のすべてのアドレスは実行時に発見されます。組み込まれている唯一の値は、上記の理由によりpocs/rw_final.js内の単一の書き込みオフセットのみです。

このリポジトリは教育および防御的研究目的です。このバグは現在のChromeで修正されており、詳細はV8ソースツリーで公開されています。

ツールをダウンロード