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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-85046 — CVE-2026-85046の概念実証と技術分析。これはインラインのArray.prototype.sortにおけるV8型混乱であり、根本原因、パッチ差分、Chrome < 152.0.7977.82向けの悪用チェーンを含みます。 | Kitploit
ツール/GitHubGitHub/atiilla/cve-2026-85046
脆弱性分析エクスプロイトウェブアプリケーション悪用バイナリ解析論文と研究学習と教育
GitHubatiilla/cve-2026-85046

CVE-2026-85046

CVE-2026-85046の概念実証と技術分析。これはインラインのArray.prototype.sortにおけるV8型混乱であり、根本原因、パッチ差分、Chrome < 152.0.7977.82向けの悪用チェーンを含みます。

リポジトリを見る
7時間44分前未レビュー
ウェブサイト

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-85046

インラインの Array.prototype.sort における V8 型混同(Maglev + Turbofan)。2026年 Chrome 6件目のゼロデイ。

フィールド値
CVSS8.8(高)
CWECWE-843(型混同)
コンポーネントV8 JavaScript エンジン -- Maglev/Turbofan インライン sort
影響を受けるバージョンChrome < 152.0.7977.82、すべての Chromium ベースのブラウザ
修正済みChrome 152.0.7977.82(2026-09-03)
修正コミットe0562d87ad9c17042b581582c99237d798572e67
CISA KEV2026-09-04 追加、期限 2026-09-18
実環境での悪用あり(Google が確認)
報告者Salvatore Gulizia(Serotav)

根本原因

インライン sort 最適化は、多相的(ポリモーフィック)な要素種別フィードバック(PACKED_SMI_ELEMENTS + PACKED_ELEMENTS)を受け入れます。コンパレータが arr.fill(0) を呼び出すと、V8 はレシーバのマップを PACKED_ELEMENTS から PACKED_SMI_ELEMENTS へ後方移行させます。sort 後のマップチェックは、PACKED_SMI_ELEMENTS が元のフィードバックセットに含まれていたため通過します。コピーバックは、SMI 専用要素を主張するマップを持つ配列にオブジェクトポインタを書き込みます。

この修正では、sort をインライン化する前に、フィードバック内のすべてのレシーバマップが同じ elements_kind を共有することを要求する前提条件が追加されています。

ファイル

ファイル説明
patch-analysis.md根本原因、トリガーメカニズム、悪用プリミティブの評価を含む完全なパッチ差分分析
patch-analysis.json構造化データ:コミットハッシュ、CWE、影響を受けるバージョン、悪用プリミティブ
v8-research.mdV8 要素種別の詳細、先行 PoC(CVE-2020-6418、CVE-2025-2135、CVE-2024-4947 など)、サンドボックスアーキテクチャ、エスケープ技術
poc-minimal.jsd8 用の最小型混同トリガー(d8 --allow-natives-syntax poc-minimal.js)
poc.html完全な悪用チェーン:型混同、addrof プリミティブ、ヒープスプレー、バッキングストア重複による fakeobj、情報漏洩
exploit-notes.md技術解説:段階的なチェーン、ヒープレイアウト図、ポインタ圧縮、サンドボックスの影響、検出指標、修復

クイックスタート

最小トリガー(d8)

root@kitploit:~
# V8 デバッグヘルパーを使用
d8 --allow-natives-syntax poc-minimal.js

# 使用しない場合(String() によるヒューリスティック検証)
d8 poc-minimal.js

完全な PoC(ブラウザ)

Chrome < 152.0.7977.82 で poc.html を開きます。エクスプロイトは自動的に実行され、各ステージをページと開発者コンソールに記録します。ステージ:

  1. 多相的要素種別フィードバックによる JIT トレーニング(2000 回の反復)
  2. sort コンパレータ内の arr.fill(0) による型混同トリガー
  3. addrof プリミティブ -- 圧縮されたヒープポインタを整数として漏洩
  4. double/object 配列バッキングストア重複のためのヒープスプレー
  5. 重複による fakeobj -- 制御された整数からオブジェクト参照を偽造
  6. 情報漏洩 -- WebAssembly インスタンス、window、document のアドレスをダンプ

悪用チェーンの概要

root@kitploit:~
トレーニング(2000 回の反復)
  |
  v
型混同: PACKED_ELEMENTS マップ -> PACKED_SMI_ELEMENTS マップ
                (バッキングストアは依然としてオブジェクトポインタを保持)
  |
  v
addrof: String(confused_array) がポインタを整数として漏洩
  |
  v
fakeobj: double/object 配列の重複が制御されたポインタを書き込み
  |
  v
制御された elements ポインタを持つ偽の JSArray -> 任意の R/W(ケージ内)
  |
  v
V8 サンドボックス内でのコード実行(完全な RCE にはサンドボックスエスケープが必要)

主要な技術的詳細

  • 配列の長さは <= 16 である必要があります(kMaxInlineSortLength)
  • Maglev/Turbofan 最適化には約 1000〜2000 回の反復が必要
  • 後方マップ移行には、コンパレータが SMI 値で arr.fill() を呼び出す必要があります
  • トレーニング中に PACKED_SMI と PACKED_ELEMENTS の両方の配列を渡す必要があります
  • addrof は 32 ビットの圧縮ポインタを漏洩します(ケージ相対、完全な 64 ビット VA ではない)
  • V8 ヒープサンドボックスは、2 つ目の脆弱性なしでは悪用をケージ内 R/W に制限します

参照

  • Chromium バグ: crbug/542403045(制限付き)
  • 修正コミット: e0562d87
  • 導入コミット: 66a3f1e9
  • Serotav 解説: https://serotav.github.io/Writeups/v8/when-sorting-leads-to-confusion/
  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-85046
ツールをダウンロード