
新たなレポートは、セキュリティ研究者のJoseph GoydishがAppleのWebKitエンジンで発見した重大な脆弱性について詳細に説明しています。このセキュリティ上の欠陥は、他のエクスプロイトと組み合わせて悪用された場合、攻撃者が最新のiOSデバイス上で任意のコードを実行できる可能性があります。
iOS 26.2におけるinteger overflowという危険なバグとして特定されたこの欠陥は、攻撃者がブラウザをフリーズさせることも可能にします。この発見は、このバグの存在と、デバイスのセキュリティに与え得る影響を浮き彫りにしています。
この脆弱性は、典型的なソフトウェアの誤り――整数オーバーフロー――に起因します。レポートによれば、問題はArrayBuffer、TypedArray、WebAssemblyの操作におけるメモリ境界の計算中に発生します。
このセキュリティ欠陥は、SafariおよびiOS上のすべてのサードパーティ製ブラウザの中核要素であるJavaScriptCore (JSC)エンジンに影響します。ハッカーは、この脆弱性(「決定論的プリミティブ」)を利用して、Appleが組み込んだ防御策が現時点では有効であるにもかかわらず、より危険な攻撃を実行できる可能性があります。
「この脆弱性は、TypedArrayおよびDataView操作のメモリオフセット計算中に発生する整数オーバーフローに起因する」と、分析は説明しています。
この脆弱性は、iPhone 14 Pro Max上で動作するiOS 26.2(Build 23C55)で確認されました。レポートは、影響範囲はおそらくより広く、以下に及ぶ可能性があると示唆しています:
- iOS 26.xのすべてのバージョン
- macOS Sequoia 15.x
- iOSのすべてのサードパーティ製ブラウザ(WKWebViewエンジンの使用が必須であるため)
Goydishは、JavaScriptのわずか数行だけで欠陥を実証するProof of Concept(PoC)を提供しました。DataViewバッファを作成し、特定のUint32値を設定することで、コードは32ビットのラップアラウンドを強制し、クラッシュを引き起こします。
現時点では、ユーザーはWebKitのセキュリティ分割メカニズムであるGigacageによって保護されています。オーバーフローが許可された16GBのパーティション外のメモリにアクセスしようとすると、Gigacageが違反を検知し、WebContentプロセスを即座に終了します。
システムがインデックスに要素サイズを掛け算すると、結果が「32ビットの上限を回り込む」ことがあります。この数学的エラーによりシステムが混乱し、攻撃者は技術的には初期チェックを通過するものの、安全領域を大きく外れた位置を指すメモリアドレスを要求できるようになります。
これにより悪意あるコードの即時実行は防がれるものの、持続的なDenial of Service(DoS)を引き起こし、ブラウザや組み込みWebビューが即座にクラッシュします。
しかしレポートは、この安全網が無敵ではないと警告しています。「Gigacageがバイパスされるか、そのベースアドレスが漏えいした場合、この脆弱性は相対的なメモリ破壊を可能にする」ため、攻撃者はオーバーフローしたバッファに隣接するオブジェクトを操作できるようになります。
最悪の場合、これは「Vtable Hijacking」によるリモートコード実行(RCE)につながる可能性があり、攻撃者が仮想関数ポインタを破壊してデバイスの命令ポインタの制御を奪います。
「現時点では、Gigacageがメモリ破壊が発生する前にプロセスを終了させることで悪用を防いでいる」とレポートは結論づけていますが、これほど根本的な論理欠陥の存在は、現代のWebセキュリティを支える脆い数学を痛感させる厳しい警鐘となっています。
この記事は気に入りましたか?私たちはLinkedIn、Facebook、Instagramのコミュニティで議論しています。サイバーセキュリティに関する日々の最新情報を受け取るには、Google Newsでもフォローしてください。また、掲載したいニュース、深掘り記事、寄稿をお知らせいただける場合は、ご連絡ください。
翻訳元: https://www.redhotcyber.com/post/vulnerabilita-webkit-ios-26-integer-overflow/