図1 新しい修正パッチを適用していない環境では、「Microsoft Update」において、「Microsoft Office Excel 2003 セキュリティ更新プログラム: KB943985 v2」が適用すべきパッチとして表示される
図1 新しい修正パッチを適用していない環境では、「Microsoft Update」において、「Microsoft Office Excel 2003 セキュリティ更新プログラム: KB943985 v2」が適用すべきパッチとして表示される
[画像のクリックで拡大表示]
図2 Excelの「ファイルバージョン」が「11.0.8206.0」あるいは「11.0.8206」と表示されれば、新しい修正パッチは未適用
図2 Excelの「ファイルバージョン」が「11.0.8206.0」あるいは「11.0.8206」と表示されれば、新しい修正パッチは未適用
[画像のクリックで拡大表示]

 マイクロソフトは2008年3月20日、3月12日に公開したセキュリティ更新プログラム(修正パッチ)の修正版をリリースした。対象はExcel 2003。当初公開された修正パッチを適用したExcel 2003では、特定の条件下において計算を間違える可能性があった。修正版を適用すれば、この問題を解消できる。自動更新機能などから適用可能。

 マイクロソフトは3月12日に、ExcelやOutlookなどに関するセキュリティ情報を4件公開した。いずれも、危険度(最大深刻度)が最悪の「緊急」。そのうちの1件である「[MS08-014]Microsoft Excelの脆弱性により、リモートでコードが実行される (949029)」の修正パッチには、適用すると、誤った計算結果が返されるという問題が見つかった。

 影響を受けるのは、Excel 2003 SP2/SP3。以下の条件を満たす場合のみ、誤った計算結果が返される可能性がある。

・Visual Basic for Applications(いわゆるマクロ)から、リアルタイムデータ(RTD)ソースを使っている
・RTDを使った、ある程度複雑なクエリを処理している

 マクロを使っていない場合や、マクロ中のVBAの関数でRTDソースを使っていない場合には影響を受けない。このため、ユーザーの多くは影響を受けない可能性が高いと考えられる。また、影響を受けるのはExcel 2003のみ。これ以外のバージョンは影響を受けない。

 マイクロソフトは3月14日、この問題を公表するとともに、問題を修正するパッチを近日中にリリースするとしていた。それが今回、リリースされた。新しい修正パッチは、「Microsoft Update」から適用可能。また、自動更新機能を有効にしていれば、自動的に配信および適用される。Excel 2003 SP2/SP3をインストールしていないパソコンには、新しい修正パッチは配信されないし、適用する必要もない。

 なお、新しい修正パッチの名称は、「Microsoft Office Excel 2003 セキュリティ更新プログラム: KB943985 v2」。3月12日公開の修正パッチには「v2」の表記はない。新しいパッチを適用していない環境でMicrosoft Updateにアクセスすると、適用すべきパッチとして、この名称が表示される(図1)。

 また、Windows XPでは「プログラムの追加と削除」の「更新プログラムの表示」、Windows Vistaでは「プログラムのアンインストール」の「インストールされた更新プログラムを表示」において、「Security Update for Excel 2003 (KB943985)V2: EXCEL」が表示されれば、新しい修正パッチが適用されていることになる。

 Excel(Excel.exe)のバージョン番号からも、適用されているかどうかを確認できる。具体的には、「C:\Program Files\Microsoft Office\OFFICE11」にあるExcel.exeの「ファイルバージョン」が「11.0.8211.0(11.0.821)」なら、新しいパッチが適用済み。3月12日のパッチしか適用されていない場合には、「11.0.8206.0(11.0.8206)」と表示される(図2)。