WordPress 2.8.1 がリリースされ、WordPress 2.8 以前のセキュリティ上の脆弱性が修正されています。管理画面の表示問題だけでは済まなさそうな今回の脆弱性って一体何? という話と、なかなかリリースされず気をもんでいた日本語版の話。

WordPress 2.8 もそれ以前もセキュリティ上の問題が

WordPress Privileges Unchecked in admin.php and Multiple Information Disclosures

という脆弱性があるらしく。対象となる WordPress のバージョンは

4. Vulnerable packages

  • WordPress 2.8 and previous
  • WordPress MU 2.7.1 and previous, used in WordPress.com

2.8 以前はダメですかそうですか。WordPress 2.7.x 以前を使っていて、諸々の事情で移行したくない環境を抱えている人も、これで移行せざるを得なくなりますね。Core Security, 素敵なご指摘ありがとう。

英語版サイトが告知している以上に危険な脆弱性

WordPress 日本語版サイトでは (翻訳元の英語版サイトでも)

一部のプラグインによって追加される管理画面が権限のないユーザーによって表示でき、その結果、情報の漏洩する可能性があったことが報告されました。すべてのプラグインにこの問題に対する脆弱性があるわけではありませんが、安全のため2.8.1にアップグレードすることをお勧めします。

となっていますが、冒頭の CoreSecurity.com では悪用の可能性として

  • 管理画面の設定を見られるだけでなく、変更される
  • サーバ上の PHP コードが変更される
  • WP Security Scan プラグインの設定を盗み見ることができる
  • WPIDS のセキュリティ設定を変更することができる

といったものが列挙されています。まあ公式サイトであまり危険なことを書くと、避難誘導にならないのかもしれませんが。

不要プラグイン、停止するだけでなく「削除」がベスト

私は WP Security Scan プラグイン使っていましたが、作者に問題点を指摘したのですが、結局きれいには修正されなかったのと、プラグインの性質上、常に必要なものではないので、使わないときは OFF! にしていたのですが、もし 「使用中」のまま放置していたら危険だったのか…。

WP Security Scan, WPIDS ともに、セキュリティを確保するためのプラグインが、WordPress 本体の脆弱性のために悪用されてしまっては困りますね。WPIDS はそもそもメンテされていないようですが。

WordPress 2.8.1 にすることで問題は解決されるようですが、今後も似たような脆弱性が発見されたときのために、使わないプラグインはバックアップして物理的に消すのが、やっぱりベストという気がします。

「停止中」にしておいても、管理画面を乗っ取られて enable されてはたまったものではありませんし。

正直言うと、先週 7/10 に本家英語版の WordPress 2.8.1 がリリースされてから、7/14 に日本語版がリリースされるまで、何が起きたんだろうと結構気をもんでいました。

実はさっき Google グループで WordPress 日本語版作成チームのディスカッションを見て、ちょうど空白の 4日間にいろいろドラマがあったのがよく分かりました。いろいろ相反する事情があって、

  • セキュリティ上の問題を修正するリリースなので、いち早くリリースしたい。
  • 日本語対応版としては、ファイル名やトラバの文字化けは fix したい。
  • しかしテストリソースが不足している。

と。

会社でも (今の、に限らず前の職場でも) 極めてよくある話ですし、致命的なセキュリティだけ直すのか、セキュリティだけでなく high priority なバグも直すのか、英語版からの遅れは何日まで許容されるのか、といった究極の選択で苦労されている日本語化チームの皆さんには頭が下がる思いです。

結局、セキュリティ fix 版と、それ以外のリリースとに分けるような流れになっていくのでしょうかね。

(本人テメェの製品で深夜まで仕事でなかなか貢献できず…って何ストレス発散に写真撮りに行ってるんだうわぁ書いていたら自爆してきたぜ今日も 3時だぜ、って話はおいといて)

つづく。