Chrome V8エンジンのSentinel Value脆弱性の詳細:未初期化のOddballオブジェクトの漏洩とサンドボックスの脱出

Chrome V8 エンジンの Sentinel Value の脆弱性を解決します

Sentinel valueはアルゴリズムにおける特別な値で、通常はループまたは再帰の終了条件として使用されます。Chrome V8エンジンには複数のSentinel valueが存在し、JavaScript環境に漏洩するとサンドボックスの脱出を引き起こす可能性があります。本記事では、初期化されていないOddballオブジェクトの漏洩を通じて、Chrome V8のHardenProtect保護メカニズムを回避する方法を探ります。

V8のセンチネル値

V8のソースコードでは、複数のネイティブオブジェクトが定義されており、それらはメモリ内に隣接して配置されています。これらのオブジェクトがJavaScriptに漏洩すると、サンドボックス内で任意のコードが実行される可能性があります。以前の研究では、TheHoleオブジェクトの漏洩がこれを実現できることが示されていますが、この記事で議論されているUninitialized Oddballオブジェクトも同様のリスクを抱えています。

私たちは、V8のネイティブ関数を変更することによって、Uninitialized OddballをJavaScriptに漏洩させて検証することができます。具体的には、%TheHole()関数内のisolateに対するオフセットを変更し、それがUninitialized Oddballオブジェクトを返すようにします。

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

HardenType保護のバイパス

Uninitialized Oddball オブジェクトを利用することで、V8 の HardenType 保護を回避し、相対的な任意の読み書きを実現できます。重要なのは、最適化された JavaScript コードが配列要素のタイプをチェックせず、JavaScript のセマンティクスに従ってオフセットを計算し数値を読み取るため、タイプの混乱が生じることです。

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

x86アーキテクチャでは、アドレス圧縮がないため、任意の読み書きはプロセス全体に対して行われます。これは、Skype(のような特定のソフトウェアにおいて、攻撃者が特定のメモリ領域を読み書きすることを利用し、全体の脆弱性利用チェーンを完成させることができることを意味します。

! [独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value])https://img-cdn.gateio.im/webp-social/moments-4c091ca0e153e953eb168e99762ff7cc.webp(

セキュリティへの影響

この脆弱性の利用方法の公開により、類似の脆弱性を利用する難易度が大幅に低下しました。攻撃者は追加の研究なしに完全な利用を実現できるため、修正されていない多くのソフトウェアに対して脅威をもたらします。

さらに、V8 には他の Sentinel 値も存在し、同様の問題を引き起こす可能性があります。これは私たちに次のことを示唆しています:

  1. 他の Sentinel 値の漏洩も V8 のリモートコード実行を簡単に実現できるのか?

  2. このような問題を正式にセキュリティ脆弱性としてリストアップすべきですか?

  3. ファジングテストでは、さまざまなセントネル値を変数としてテスト範囲に含めるべきでしょうか?

いずれにせよ、この種の問題は攻撃者が完全な利用を実現するサイクルを大幅に短縮するため、安全研究者や開発者が高度に注目すべきです。

! [独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value])https://img-cdn.gateio.im/webp-social/moments-1e3fda77c04bceafdcc40413824a5d37.webp(

! [独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value])https://img-cdn.gateio.im/webp-social/moments-ed89289bebf59d4b27f5bffb5511a8c5.webp(

! [独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value])https://img-cdn.gateio.im/webp-social/moments-0e52075003a8ee2ca492a5fc9f35c36b.webp(

! [独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value])https://img-cdn.gateio.im/webp-social/moments-230537e420d579aabd89bdd168b20878.webp(

! [独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value])https://img-cdn.gateio.im/webp-social/moments-506159c94c9e0988552cbcbd13d971e1.webp(

! [独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value])https://img-cdn.gateio.im/webp-social/moments-e9e2000fd501b69ee3ee643a459a26dd.webp(

SENC-6.29%
原文表示
このページには第三者のコンテンツが含まれている場合があり、情報提供のみを目的としております(表明・保証をするものではありません)。Gateによる見解の支持や、金融・専門的な助言とみなされるべきものではありません。詳細については免責事項をご覧ください。
  • 報酬
  • 6
  • リポスト
  • 共有
コメント
0/400
CryptoCross-TalkClubvip
· 3時間前
この脆弱性は、各取引所がひざまずいているときの損切りポイントと同じくらい虚しい。
原文表示返信0
PoetryOnChainvip
· 5時間前
またまたまたバグがありました
原文表示返信0
FudVaccinatorvip
· 5時間前
またV8の穴だ、鉄子たちが突っ込んだ
原文表示返信0
MelonFieldvip
· 6時間前
脆弱性はかなり深刻で、Googleのこの波は冷たいです
原文表示返信0
just_here_for_vibesvip
· 6時間前
このバグは本当にすごい...あまりにも素晴らしい
原文表示返信0
NewPumpamentalsvip
· 6時間前
またV8の穴ですね、いつもの顔です。
原文表示返信0
いつでもどこでも暗号資産取引
qrCode
スキャンしてGateアプリをダウンロード
コミュニティ
日本語
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)