読者です 読者をやめる 読者になる 読者になる

こけめも

メモみたいなもの

6月の定例パッチ KB982331における問題について

6月のWindowsUpdateで問題発生

最近は仕事でWindowsのパッチ適用なんてのもやってるんですが、6月の定例パッチの中の一つでおかしな動作をするものがありました。
それが、KB982331 です。

KB982331について

KB982331は、MS10-038で公開されたセキュリティパッチの一つで、MicrosoftOffice互換パックの脆弱性を修正します。
詳細は以下を参照


Microsoft Security Bulletin MS10-038 - Important
Download 2007 Microsoft Office system セキュリティ更新プログラム: KB982331 from Official Microsoft Download Center

問題点現象

パッチを適用する際、MicrosoftUpdateを使用するのではなく、上記ダウンロードサイトからパッチのインストーラーをダウンロード・適用する手法を取っています。
KB982331も、いつもと同じようにパッチをダウンロードしてインストールしてみました。
(以下、パッチ公開サイトからダウンロードしたものを、“パッチ1”とする)

インストール自体はすぐに終了し、「はいはい、いつもの作業ね」と思いながらMicrosoftUpdateを見てみると、そこには相変わらず“KB982331”の名前が…


期待結果としては、適用済みとしてMicrosoftUpdateから消えるはずでした。


問題点調査

1) 調査のため、まずは以下のことを確認しました。
・“KB982331”のインストーラーを実行して、「適用済み」と表示されること。
・「プログラムの追加と削除」の更新プログラムに“KB982331”が存在すること。
レジストリに“KB982331”を含む文字列があること。


結果:
⇒いずれも問題なし。正常に適用されているようにしか見えません。


2) 次に、上記問題発生している状態で以下のことをやってみました。
・MicrosoftUpdateから“KB982331”を適用してみる。
⇒正常に適用されて、MicrosoftUpdateの一覧から削除される。


このときのc:\windows\WindowsUpdate.log を見てみると、とあるcabファイルをダウンロードしています。(URLはhttp://download.windowsupdate.com/msdownload/update/software/secu/2010/05/xlconv_8a430c98aae7fcd27e01691dacbae46a4463a9e6.cab)

自分でこのファイル(以下、“パッチ2”とします)をダウンロード・解凍すると、xlconv.mspというファイルが得られます。


3) 次に、KB982331が適用されていない状態(“パッチ1”・MicrosoftUpdateともに)で、“パッチ2” のxlconv.mspをインストールしてみる。
⇒正常に適用され、MicrosoftUpdateの一覧から削除される。


あれ?ということは、“パッチ1”は不要?
そもそも、xlconv.mspとの関係は?
←この時点で、Microsoftなんかおかしくね?と思いだす。

xlconv.mspとは、

当初は“パッチ1”(office2007-kb982331-fullfile-x86-glb.exe)とxlconv.mspは関係ないと思っていたんですが、office2007-kb982331-fullfile-x86-glb.exeを解凍してみると、xlconv.mspファイルが得られました。
ではこの両者が同じかというと、微妙に違う。
表にすると以下の通り。

項目 “パッチ1” “パッチ2”
ファイル名 xlconv.msp xlconv.msp
ファイルサイズ 8,486,400 バイト 8,486,400 バイト
更新日時 2010/04/09 15:30 2010/04/24 17:10
ファイルのプロパティ Patch;xlconv;12.0.6535.5000 Patch;xlconv;12.0.6535.5002
改訂番号 {A8D87A8E-97C5-4E79-9E1F-27F1BCDF425E} {E8766951-2B6C-4022-86E8-80D2D1762B76}

つまり、“KB982331”の適用に必要なxlconv.mspは12.0.6535.5002だけど、“パッチ1”には12.0.6535.5000が組み込まれているため適用済みとならないということ?
これってやっぱりMSのモジュールが間違ってるんじゃ…
とりあえず続報でるまで保留しとこうかな。

追記

xlconv.mspも解凍して比較してみました。
結果はテキストファイルの差分が312件・バイナリファイルの差分が1件。


ただし、テキストファイルの差分はプロパティか改訂番号の違い。
バイナリファイル(cab)の違いも、作成日が違うだけで解凍した中身は同じ。

そういう意味では、どちらにしても修正内容は変わらないから問題ないのかも。


ここで問題なのは、MicrosoftUpdateで適用済みと判断されないことであって、その原因がMicrosoftUpdateの判断方法なのか、“パッチ1”の内容なのかは定かではないです。