ようやくある程度情報整理できたので、まとめます。News site では日本語でまともな情報流れていなそうなので。。。
2009-10-16 17:45 PDT (2009-10-17 09:45 JST:日本標準時間) に Firefox で add-on .NET Framework Assistant 1.1 が block されました。
Bugzilla@Mozilla ? Bug 522777 Blocklist "Windows Presentation Foundation" plugin (installed automatically via .NET Framework 3.5 SP1 update)
https://bugzilla.mozilla.org/show_bug.cgi?id=522777#c18
Block した理由としては、Microsoft が今月 fix した MS09-054 Internet Explorer 用の累積的なセキュリティ更新プログラム (KB974455) の脆弱性 (CVE-2009-2529) が原因です。
これに関して、Microsoft からは公式ではないものの下記情報が挙がっています。
MS09-054: Extra info on the attack surface for the IE security bulletin
While the vulnerability is in an IE component, there is an attack vector for Firefox users as well. The reason is that .NET Framework 3.5 SP1 installs a “Windows Presentation Foundation” plug-in in Firefox, as shown below.
Via this plug-in it is possible to launch XBAP, and reach this vulnerability, from within Firefox.
かいつまんで説明すると、XBAP (XAML Browser Application) に脆弱性が存在するため、Windows Presentation Foundation Firefox plugin を通じても脆弱性の影響を受けると言っています。
この時点では、security patch を適用すれば脆弱性が解消されるとは上記 blog (Microsoft Security Research & Defense) では公開されていなかったようです。
この情報に気付き、Mozilla の今回とった対応はなぜか表題の ”NPWPF.dll” (GUID: {20a82645-c095-46ed-80e3-08825760534b}) を blocklist に登録することだったのです。
これは .NET Framework Assistant 1.1 Firefox add-on であり、Microsoft Security Research & Defense で脆弱であると説明されている Windows Presentation Foundation Firefox plugin とは別物です。
# おそらく、勘違いしてしまったのでしょうかね。
つまり、脆弱性に直接関係の無い機能を強制的に無効化してしまったことになります。
また、ここでもう一つの問題が浮かび上がります。
若干推測が入りますが、この時点では Mozilla は CVE-2009-2529 の脆弱性が KB974455 で解消されていたかわからなかったのではないかという線が濃厚なことです。
仮にそうであるならば、一般の user にとっては簡単に解消できない (security patch が存在しない) 脆弱性が存在しているわけで、それに対し、強制的に無効化を掛けたことになります。
Security も大事ですが、互換性も大事です。多くの applications には security patch の存在しない脆弱性が存在しますが、それを強制的に使えなくするという対応はよほどのことがない限りまず行いません。
# たとえば、Flash Player に 0 day 脆弱性が存在することはよくありますが、強制的に無効化されることはないですよね。そんなことしたら。。。
強制的に無効化する場合もありますが、問答無用でやってもいいのは公式の security patch が release されるか、もしくは脆弱性のある機能の開発元から正式な依頼を受けた時のみでしょう。
Security patch が release された後であれば、機能を損なわずに解消することができますし、脆弱性のある機能の開発元が block するよう依頼を受けたのであれば脆弱性のある機能の開発元が全責任を負うことになるため、責任を回避できるでしょう。
しかし、そのような場合でも無ければその機能を必要としている user にとって、service が一切利用できない深刻な問題を巻き起こします。
今回の場合、一応下記に Microsoft はこの計画に同意したと記述があります。
.NET Framework Assistant Blocked to Disarm Security Vulnerability より
Because of the difficulties some users have had entirely removing the add-on, and because of the severity of the risk it represents if not disabled, we contacted Microsoft today to indicate that we were looking to disable the extension and plugin for all users via our blocklisting mechanism. Microsoft agreed with the plan, and we put the blocklist entry live immediately.
ですが、これは正直信頼が置けないと思います。
その理由としてはいくつかあります。
- 間違った add-on を無効化していること
- Blocklist query が完成してから十数分後には配信していること
2009-10-16 17:29:42 PDT v1, can someone verify
2009-10-16 17:31:04 PDT query
2009-10-16 17:32:13 PDT v2 query
2009-10-16 17:45:45 PDT Pushed
もしかすると本当に相談していたのかもしれませんが、どこに相談したのか気になります。Microsoft 程の規模の会社となるとちゃんとした connection 使って問い合わせないとまともな回答が返らないなんてことはよくあるので。。。脆弱性を扱う場合、ものによっては関係する vendor が一致協力して問題に当たる必要があるので、今回のような連携の問題は致命的です。
それから、Firefox の blocklist 機能にも問題があります。それは、blocklist で無効化された add-on, plug-in を簡単に再有効化できないことです。
強制的に無効化されたとしても、再有効化できれば問題は軽減できます。あまり推奨はできませんが、どうしても古い脆弱性のある version を利用しなければならないときにはどうすればいいんでしょうか?
くどいほど警告を表示するくらいが適当ではないでしょうか?
なお、このような状況になってしまったため Security Research & Defense には下記情報が追記されています。
.NET Framework Assistant Blocked to Disarm Security Vulnerability より
Updated October 16, 2009 - updated blog post to clarify that Firefox users are protected from CVE-2009-2529 if they install the MS09-054 update.
MS09-054 を適用していれば、Firefox user も CVE-2009-2529 の脆弱性の影響を受けないそうです。
この情報を受け、.NET Framework Assistant Blocked to Disarm Security Vulnerability には下記情報が追記されています。
Update (Sunday Oct 18, 6:30pm PDT): Microsoft has now confirmed that the Framework Assistant add-on is not a vector for this attack, and we have removed the entry from the blocklist. We are also working on a mechanism to allow Firefox users to re-enable the WPF plugin ahead of its eventual removal from the blocklist. For more information, see Mike Shaver’s latest blog post.
Microsoft が .NET Framework Assistant add-on の安全性を確認したため、blocklist から削除したとのことです。
今回の件で、様々な問題が浮かび上がりましたので、関係者は二度とこのようなことが無いよう再発防止に力を注いでいただきますよう切に願います。
なお、追加情報を表示しようとすると wildcard 証明書のせいで SSL error が発生する別の問題も挙がっています。
Firefox users get invalid cert following blocklist details link
Bug 505031 - Plugins blocklist page can not be opened from addons manager in localized Firefox builds