# Chrome V8 HardenProtect バイパスによる Sentinel 値リークChromeのソースコードには大量のSentinel valueが存在し、これらの特殊な値はアルゴリズム内で通常、ループや再帰の終了条件として使用されます。最近の研究によれば、特定のSentinel valueの漏洩がChromeサンドボックス内での任意のコード実行につながる可能性があります。既知のTheHoleオブジェクトの他に、V8にはJavaScript環境に漏洩してはいけない他のネイティブオブジェクトがあります。本稿では、未初期化のOddballオブジェクトに焦点を当てており、この回避策は現在の最新のV8バージョンでも適用可能であり、まだ修正されていません。! [独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value](https://img-cdn.gateio.im/social/moments-263e5651876fc00c4e0af0cfcd350210)注目すべきは、この方法が広範な適用性を持っていることです。報告された複数の脆弱性の中で、未初期化のオッドボールの漏洩はリモートコード実行を引き起こす可能性があります。これは、PatchGapの影響を受ける可能性のあるソフトウェアの徹底的な監査の必要性を強調しています。V8のほとんどのネイティブオブジェクトはv8/src/roots/roots.hファイルで定義されており、メモリ内で隣接して配置されています。これらのオブジェクトが誤ってJavaScriptに公開されると、サンドボックス内で任意のコードが実行される可能性があります。! [独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value](https://img-cdn.gateio.im/social/moments-26c26345e3ec4effeea2e3e6b7cd8772)この方法を検証するために、V8のネイティブ関数を修正してUninitialized Oddballオブジェクトを返すようにできます。この方法により、最新のV8で比較的任意のメモリ読み取りを実現できます。! [独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value](https://img-cdn.gateio.im/social/moments-4c091ca0e153e953eb168e99762ff7cc)この回避方法の核心は、最適化されたJavaScript関数が配列要素にアクセスする際に、配列の型情報を十分にチェックせずに、オフセットを直接計算して値を取得することにあります。これにより、型の混乱が引き起こされ、任意の読み取りが実現されます。! [独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value](https://img-cdn.gateio.im/social/moments-1e3fda77c04bceafdcc40413824a5d37)提案された修正案は、最適化された関数が配列の要素を返す際に、配列mapのチェックを追加し、オフセット計算によって直接配列の値を返すことを避けることです。! [独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value](https://img-cdn.gateio.im/social/moments-ed89289bebf59d4b27f5bffb5511a8c5)さらに、ソフトウェアサプライチェーンに存在する可能性のあるPatchGap問題にも注目する必要があります。一部の広く使用されているソフトウェアは、このような脆弱性が修正されていない可能性があり、攻撃者にとっての突破口を提供しています。! [独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value](https://img-cdn.gateio.im/social/moments-0e52075003a8ee2ca492a5fc9f35c36b)全体として、V8にはさまざまなSentinel値が存在し、それらの漏洩はセキュリティ問題を引き起こす可能性があります。今後の研究方向には、他のUninitialized Oddballの漏洩の影響を探ること、Sentinel値を変数としてファジングテストに導入することの実現可能性を評価すること、関連するセキュリティ問題をより包括的に検討することが含まれるかもしれません。この種の問題が正式にセキュリティ脆弱性として挙げられるかどうかにかかわらず、それらは攻撃者が完全な悪用を実現するための時間を大幅に短縮する可能性があります。! [独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value](https://img-cdn.gateio.im/social/moments-230537e420d579aabd89bdd168b20878)! [独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value](https://img-cdn.gateio.im/social/moments-506159c94c9e0988552cbcbd13d971e1)! [独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value](https://img-cdn.gateio.im/social/moments-e9e2000fd501b69ee3ee643a459a26dd)
Chrome V8エンジンのSentinel Valueの漏洩により、サンドボックスのエスケープリスクが発生
Chrome V8 HardenProtect バイパスによる Sentinel 値リーク
Chromeのソースコードには大量のSentinel valueが存在し、これらの特殊な値はアルゴリズム内で通常、ループや再帰の終了条件として使用されます。最近の研究によれば、特定のSentinel valueの漏洩がChromeサンドボックス内での任意のコード実行につながる可能性があります。
既知のTheHoleオブジェクトの他に、V8にはJavaScript環境に漏洩してはいけない他のネイティブオブジェクトがあります。本稿では、未初期化のOddballオブジェクトに焦点を当てており、この回避策は現在の最新のV8バージョンでも適用可能であり、まだ修正されていません。
! 独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value
注目すべきは、この方法が広範な適用性を持っていることです。報告された複数の脆弱性の中で、未初期化のオッドボールの漏洩はリモートコード実行を引き起こす可能性があります。これは、PatchGapの影響を受ける可能性のあるソフトウェアの徹底的な監査の必要性を強調しています。
V8のほとんどのネイティブオブジェクトはv8/src/roots/roots.hファイルで定義されており、メモリ内で隣接して配置されています。これらのオブジェクトが誤ってJavaScriptに公開されると、サンドボックス内で任意のコードが実行される可能性があります。
! 独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value
この方法を検証するために、V8のネイティブ関数を修正してUninitialized Oddballオブジェクトを返すようにできます。この方法により、最新のV8で比較的任意のメモリ読み取りを実現できます。
! 独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value
この回避方法の核心は、最適化されたJavaScript関数が配列要素にアクセスする際に、配列の型情報を十分にチェックせずに、オフセットを直接計算して値を取得することにあります。これにより、型の混乱が引き起こされ、任意の読み取りが実現されます。
! 独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value
提案された修正案は、最適化された関数が配列の要素を返す際に、配列mapのチェックを追加し、オフセット計算によって直接配列の値を返すことを避けることです。
! 独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value
さらに、ソフトウェアサプライチェーンに存在する可能性のあるPatchGap問題にも注目する必要があります。一部の広く使用されているソフトウェアは、このような脆弱性が修正されていない可能性があり、攻撃者にとっての突破口を提供しています。
! 独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value
全体として、V8にはさまざまなSentinel値が存在し、それらの漏洩はセキュリティ問題を引き起こす可能性があります。今後の研究方向には、他のUninitialized Oddballの漏洩の影響を探ること、Sentinel値を変数としてファジングテストに導入することの実現可能性を評価すること、関連するセキュリティ問題をより包括的に検討することが含まれるかもしれません。この種の問題が正式にセキュリティ脆弱性として挙げられるかどうかにかかわらず、それらは攻撃者が完全な悪用を実現するための時間を大幅に短縮する可能性があります。
! 独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value
! 独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value
! 独占公開バイパスChrome v8 HardenProtect by Leaking Sentinel Value