Chrome V8 Sentinel Valueのセキュリティリスク:初期化されていないOddballオブジェクトの漏洩がサンドボックスの抜け出しを引き起こす可能性があります

robot
概要作成中

Sentinel ValueのChrome V8におけるセキュリティリスク

Sentinel valueはアルゴリズムにおける特別な値で、ループや再帰アルゴリズムの終了条件としてよく使用されます。Chromeのソースコードには複数のSentinel valueが存在し、その中のいくつかがJavaScript環境に漏洩するとセキュリティ問題を引き起こす可能性があります。

以前の研究では、TheHoleオブジェクトの漏洩により、サンドボックス内で任意のコード実行が可能であることが示されています。Googleチームはこれを修正しました。しかし、実際にはV8には他のネイティブオブジェクトがあり、これらはJSに漏洩すべきではありません。例えば、Uninitialized Oddballオブジェクトです。

初期化されていないOddballオブジェクトの漏洩は、サンドボックスの逃避を引き起こす可能性があります。この問題はIssue1352549に最初に現れ、現在も修正されていません。この方法は一定の汎用性を持ち、複数の脆弱性で現れています。

V8のネイティブオブジェクトはv8/src/roots/roots.hファイルに定義されており、メモリ内で隣接して配置されています。これらのオブジェクトがJavaScript環境に漏洩すると、サンドボックスの脱出が可能になることがあります。

! 独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value

この問題を検証するために、V8のネイティブ関数を変更して、Uninitialized OddballをJavaScriptに漏らすことができます。具体的には、%TheHole()関数の実装を変更できます。

! 独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value

Uninitialized Oddballオブジェクトを利用することでHardenType保護を回避できます。特定のJavaScriptコードを構築することで、比較的任意のメモリの読み書きを実現できます。これは、最適化されたコードがオブジェクトの属性を十分にチェックしていないためです。

! 独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value

! 独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value

! 独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value

! 独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value

! 独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value

修正提案については、最適化された関数が配列要素を返す際に、配列のmapに対するチェックを追加し、オフセットを直接計算して値を返すことを避けるべきです。

この問題は、PatchGapに注意するよう私たちに警告しています。つまり、特定のソフトウェアが未修正のV8バージョンを使用している可能性があるということです。例えば、Skypeは現在この問題を修正していません。x86アーキテクチャでは、アドレス圧縮がないため、プロセス範囲内での任意の読み書きが可能です。

! 独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value

! 独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value

全体的に見て、V8には他にもさまざまなセンチネル値が存在し、類似のセキュリティリスクが考えられます。他の未初期化のオッドボールの漏洩の影響についてさらに研究し、このようなオブジェクトをファジングの対象に含めて、より多くの潜在的な利用方法を発見することを検討することをお勧めします。いずれにせよ、このような問題は攻撃者の脆弱性の利用サイクルを大幅に短縮する可能性があります。

原文表示
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • 報酬
  • 5
  • 共有
コメント
0/400
DuckFluffvip
· 5時間前
わお、このバグは聞いただけで爽快だね〜
原文表示返信0
ShitcoinConnoisseurvip
· 07-11 14:18
これを修理しないの?v8は何をしているの?
原文表示返信0
WhaleMistakervip
· 07-11 02:45
chromeの大きな脆弱性が再び現れました
原文表示返信0
LiquidityWitchvip
· 07-11 02:42
ちぇっ、またバグを見つけた。
原文表示返信0
ParallelChainMaxivip
· 07-11 02:35
すごいな、本当にやるね
原文表示返信0
いつでもどこでも暗号資産取引
qrCode
スキャンしてGateアプリをダウンロード
コミュニティ
日本語
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)