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に設定するのが妥当ではないかという結論に至ったという。