Chrome V8エンジンのSentinel値の漏洩がサンドボックスの脱出リスクを引き起こす

robot
概要作成中

Sentinel valueのChrome V8における適用とそのセキュリティ影響

Sentinel値はアルゴリズムにおける特別な値であり、ループや再帰アルゴリズムの終了条件によく使用されます。Chrome V8エンジンのソースコードでは、Sentinel値が広く使用されています。最近、セキュリティ研究者は特定のSentinel値オブジェクトを漏洩させることで、Chromeサンドボックス内で任意のコードを実行できることを発見しました。

V8には、JavaScript環境に漏洩すべきではないさまざまなネイティブオブジェクトが存在します。以前に公開されたTheHoleオブジェクトに加えて、Uninitialized Oddballオブジェクトの漏洩も同様にセキュリティ問題を引き起こす可能性があります。この方法は、Issue1352549で最初に登場し、現在も最新のV8で利用可能であり、Googleはまだ修正していません。

この方法は強い汎用性を持っています:

  1. Issue1216437(CVE-2021-30551)では、内部の初期化されていないオッドボールの漏洩に関するPOCが初めて示されました。

  2. UninitializedOddballオブジェクトは、Issue1314616(CVE-2022-1486)でも直接リークされています。

  3. Issue1352549(にはCVE)を利用した方法が完全に示されています。

これらのケースは、Sentinel valueの漏洩が複数のソフトウェアバージョンに影響を与える可能性があることを示しています。

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

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

この方法を検証するために、V8のネイティブ関数%TheHole()を変更することで、初期化されていないOddballオブジェクトを漏洩させることができます。

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

この方法を利用することで、V8のHardenType保護を回避できます。重要なのは、最適化されたJavaScriptのread関数がオブジェクトのプロパティを十分にチェックしていないため、タイプ混乱を利用して任意の読み書きが実現できることです。

! 独占公開バイパス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をチェックして、オフセットを直接計算して数値を返すのを避けることです。

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

注目すべきは、Skypeなどのソフトウェアにこのような脆弱性がまだ存在する可能性があるということです。x86プラットフォームでは、アドレス圧縮が欠如しているため、任意の読み書き範囲が広くなります。攻撃者はこの脆弱性を利用して完全なエクスプロイトチェーンを実現する可能性があります。

Uninitialized Oddballを除いて、V8には他にもさまざまなSentinel valueが存在し、類似のリスクがある可能性があります。他のSentinel valueの漏洩によるセキュリティ問題についてさらに研究し、ファジングテストに関連シナリオを追加することを検討することをお勧めします。

この種の問題が正式にセキュリティ脆弱性として分類されるかどうかにかかわらず、攻撃者が完全な利用を実現する周期を大幅に短縮する可能性があるため、十分に注意を払うべきです。

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

SENC-2.37%
原文表示
このページには第三者のコンテンツが含まれている場合があり、情報提供のみを目的としております(表明・保証をするものではありません)。Gateによる見解の支持や、金融・専門的な助言とみなされるべきものではありません。詳細については免責事項をご覧ください。
  • 報酬
  • 5
  • リポスト
  • 共有
コメント
0/400
LowCapGemHuntervip
· 08-05 12:29
また脆弱性を発見しました v8早く修正してください
原文表示返信0
DegenWhisperervip
· 08-04 10:02
ああ、これ、グーグルはどうして修正しないの?ひどいね。
原文表示返信0
ApyWhisperervip
· 08-04 09:59
Chromeが月へ行くのに引っかかって、まだパリパリしている
原文表示返信0
MidsommarWalletvip
· 08-04 09:49
またchromeのせいか= = これが安全性?
原文表示返信0
token_therapistvip
· 08-04 09:46
特に脅威のない脆弱性で、暇を持て余している
原文表示返信0
いつでもどこでも暗号資産取引
qrCode
スキャンしてGateアプリをダウンロード
コミュニティ
日本語
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)