b2evolution 0.9.0.11以前にSQLインジェクションの脆弱性
b2evolution 0.9.0.11およびそれ以前のバージョンに、SQLインジェクション(不正なSQLクエリを外部から送り込まれることにより、データベース上に保管している設定を書き換えられたり、ユーザ情報等の見られてはいけないデータが表示されてしまう)のセキュリティ欠陥があることが、r0ut3r氏により発見・指摘されました。
(Secuniaのサイトで1月6日付で勧告文書が公開されています。http://secunia.com/advisories/13718/)
1月7日に b2evolution公式サイトでのアナウンス も出ています。
問題の詳細については、b2evolution Forums(公式フォーラム)の投稿「Security issue!」に修正方法の記載があります。ただ、このフォーラム記事にも説明されているように、記事内で紹介されている修正ファイルを使用すれば、別の(より軽微な)脆弱性の修正も同時にできますので、手作業でこの欠陥の修正だけを行うのではなく、できるだけ修正ファイルを利用してください。
(追記:配布されている修正ファイルはバージョン0.9.0.11用です。過去のバージョンを使用されているのならば、まず0.9.0.11にアップデートしてください。もし、アップデートできない事情がある場合は、フォーラム記事を参考に、該当する部分を手作業で修正してください)
前述フォーラム記事「Security issue!」にありますように、修正ファイルは http://prdownloads.sourceforge.net/evocms/b2evo-0-9-0-11-fix.zip?download からダウンロードできます。zipファイルを展開して出てきた2つのファイルを、/b2evocore
フォルダの既存のファイルと置き換えてください。
(これら2つのファイル、_class_itemlist.php
, _functions_bposts.php
は、当サイトで紹介している日本語周りの改造では触っていないファイルですので、そのまま置き換えて問題ありません)
当サイトについて
なお、少々蛇足気味ながら、当サイトの状況についても記述させていただきます。
偶々、昨年12月中旬からPHPを対象にしたウィルス等による攻撃が話題になっていたこともあって、当サイトのApacheログを継続的に監視していましたが、この欠陥に関わる攻撃は少なくとも当サイトでは昨年12月中旬から現時点までの期間には観測されていません(見当違いな攻撃は多々見られましたが)。データベースの内容も、現時点で不審な点は見られませんでした。
また、b2evolution Forums での情報公開直後に、当サイトに修正を施しましたので、現在ではこの欠陥・脆弱性について対処済みとなっています。