水無月ばけらのえび日記

bakera.jp > 水無月ばけらのえび日記 > 2004年のえび日記 > 2004年12月 > 2004年12月20日(月曜日)

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 ってアクティブスクリプト扱いなのですね。スクリプトが無効だと影響を受けませんし、「ダイアログを表示」にしておくと実行するかどうか訊かれます。

関連する話題: セキュリティ / Internet Explorer / CSS

最近の日記

関わった本など