SecurityFocus is the most comprehensive and trusted source of security information on the Internet. |
SecurityFocusは15日(カナダ時間)、IE、Chrome、Safari、Opera、Thunderbird、iPhone、Wii、PS3など広範囲に渡ってブラウザ、OS、デバイスに共通の問題があり、ブラウザの終了、OSの再起動、ハードウェアのハングアップなどの不具合が発生することを発表した(CVE-2009-1692)。同問題の影響を受けるプロダクトは次のとおり。これ以外にも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がハングし、ハードウェアリセットが必要になる
報告には、2GBのサイズを指定してselect()をコールする場合のサンプルが掲載されている。対応状況はプロダクトごとに異なっており、次の状況が記載されている。
- 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に設定するのが妥当ではないかという結論に至ったという。