WebページをSafariに読み込ませるだけでiOSデバイスが再起動するCSSベースの攻撃 | スラド アップル

ふむ・・・


headless曰く、

SafariにWebページを読み込ませるだけでiOSデバイスが再起動するという、CSSを使用したDoS攻撃の実証コード(クリック注意)が公開された。ソースコードもGitHubで公開されている(発見者のツイートNeowin9to5MacZDNet)。

攻撃はネストした多数のdivエレメント(PoCでは3,486個)に対し、処理に3Dアクセラレーションを用いるCSSのbackdrop-filterプロパティを適用するというもので、急速にグラフィックリソースをすべて消費してカーネルパニックを引き起こすというもの。macOS上のSafariでは一時応答しなくなるものの、しばらく待てばタブを閉じることが可能だという。

基本的に影響を受けるのはWebKitベースのアプリのみのようだが、Microsoft Edge/Inernet Explorerではページの読み込みに失敗する。IEの場合は大量にネストされたdivエレメントの処理の方で問題が発生しているようだ。Windows 7上のIEがクラッシュしたという報告もみられるが、手元のWindows 10環境ではIE自体がクラッシュすることはなかった。このほか、Windows 10上のGoogle Chrome/Mozilla Firefox/Opera/Vivaldi/Brave/UC Browserで試してみたが、特に問題が発生することはなくページが表示された。

なお、Chromeは「chrome://flags/#enable-experimental-web-platform-features」をEnabledにしなければbackdrop-filterプロパティが有効にならない。有効にしてPoCを読み込ませると画面が真っ黒になってしまったが、divエレメントの数を1~2個に減らせばフィルターが適用された状態での表示を確認できた。このほかのブラウザーはbackdrop-filterプロパティをサポートしないため、フィルターは適用されない。Android版のChromeでは「enable-experimental-web-platform-features」をEnableにしてPoCを読み込ませると端末ごとフリーズした。ただし、そのまま放置しておくと数分後にはChromeのタブがクラッシュし、操作可能な状態に戻った。

情報源:WebページをSafariに読み込ませるだけでiOSデバイスが再起動するCSSベースの攻撃 | スラド アップル


はぁ・・・