Chrome、Safari、Opera、Thunderbird、iPhone、Wii、PS3など広範囲に渡ってブラウザ、OS、デバイスに共通の問題があり、ブラウザの終了、OSの再起動、ハードウェアのハングアップなどの不具合が発生することが発見されました。同問題の影響を受けるプロダクトは次のとおり。これ以外にもJavascriptをサポートしているプロダクトで同様の問題が発生する可能性があります。
- IE 5、6、7、8 (すべてのバージョン)
- Chrome
- Opera
- Seamonkey
- Midbrowser
- Netscape 6、8
- Konqueror (すべてのバージョン)
- Apple iPhone、iPod
- Apple Safari
- Thunderbird
- Nokia N95 (Symbian OS v.9.2)、Nokia N82、Nokia N810 Internet Tablet
- Aigo P8860 (
- Siemens phones
- Google T-Mobile G1 TC4-RC30
- Ubuntu
この問題はJavaScriptのselect()メソッドによるもので、かなり大きな整数を指定してselect()をコールするとx+nバイトの メモリを確保し続け、最終的にメモリを使い尽くすことが明かに。
発生する不具合はブラウザやOSごとに異なるという。報告されている現象は次のとお り。
- Konqueror / Ubuntu: ブラウザがクラッシュするかOSが再起動する
- Chrome: タブがクラッシュ
- Firefox: ブラウザがクラッシュ
- IE 5-8: ブラウザがクラッシュ
- Opera: 他のアプリが不安定になる
- Wii: コンソールがハングし、ハードウェアリセットが必要になる
- PS3: コンソールがハングし、ハードウェアリセットが必要になる
- iPhone: iPhoneがハングし、ハードウェアリセットが必要になる
対応状況はプロダクトごとに異なっており、次の状況が記載されていました。
- Mozilla: Firefox 3.0.5および2.0.0.19で対応済み
- Apple: iPhoneおよびiPodはすでに対応済み
- IE: 対応なし
- Webkit: r41741で対応済み
- Chrome: 対応済み
- Opera: 9.64以降で対応済み
- Thunderbird: 不明
- Konqueror: 不明
- Nokia: 不明
- Aigo P8860: 不明
- Siemens: 不明
これはselect()で扱えるHTML要素の数に上限がなかったことが原因になっています。今回ブラウザベンダ間で協議をおこない、上限を10,000に設定するのが妥当ではないかという結論に至ったといいます。




