expressionの脆弱性?
2004年12月20日(月曜日)
expressionの脆弱性?
「「offsetWidth」でテーブル幅を指定したサイトでIE6が無反応に (internet.watch.impress.co.jp)」……って、ぱっと見では意味が分かりにくいですが、IE 独自拡張の expression を使用したスタイルシートで無限ループが発生し得るというお話。確かに CPU 使用率 100% で固まりますね。
これはいわゆるブラクラに利用できるわけで、DoS攻撃が可能となる脆弱性と言って良いのではないかと思います。expression には脆弱性がありそうな気がするなぁ、とは前から思っていましたし周囲に話してもいましたが……expression 周りを追求すれば、他にもいろいろ出てきそうな気がします。
ちなみに、記事には
「サンプルの場合では、tableタグのstyle属性を指定することで回避できる」としている。
とありますが、元は
下記のサンプルでは TABLE タグの style 属性に "table-layout:fixed" を指定することにより本現象を回避することが出来ます。
以上、[IE] table タグ内の offsetWidth にてテーブル幅を指定したサイトに接続すると Internet Explorer が無反応になる より
なので注意。ユーザスタイルシートで table-layout: fixed にしてみたところ、回避できました。
……それはさておき、expression ってアクティブスクリプト扱いなのですね。スクリプトが無効だと影響を受けませんし、「ダイアログを表示」にしておくと実行するかどうか訊かれます。
- 「expressionの脆弱性?」へのコメント (2件)
関連する話題: セキュリティ / Internet Explorer / CSS
- 前(古い): ADSLモデム再起動
- 次(新しい): officeさん系話