Moodleに脆弱性(改訂)

MoodleのすべてのバージョンにSQL injection/remote command executionの脆弱性があることが1110日に公開された。12日10時現在,Moodleサイトのトップにはアナウンスされていないが,左下のGoogle Newsブロックに次の二つの項目が現れている:

トップからリンクされていないMoodle Security Centerでアナウンスされた。対策は,PHPの設定をregister_globals=offにすれば大丈夫。magic_quotes_gpc=onでもいい。この二つとも設定されていないことは少ないという点では影響は大きくないであろう(がデータベースに対して何でもできてしまうという点では大変危険である)。うちのサイトはregister_globals=offになっているので大丈夫。これらの値はphp.iniで設定するが,もしそれができないなら,Moodleディレクトリの中に

php_flag register_globals off

と書いたファイル .htaccess を入れておけばよい。ただしApacheの設定によってはこれも効かないことがあるので管理者に相談されたい(→PHP: 設定を変更するには - Manual)。

経緯:10日BugTraqにMoodle <=1.6dev blind SQL Injectionとしてexploitを含む詳細が報告された。この内容が11日にMoodleサイトのフォーラムに Using Moodle: Possible security exploit?(要登録)として書き込まれ,「一般の人が見るところにこんなこと載せるな」という声もあがった。しかし,そんなところで禁止してもすでにBugTraqに出てしまっているし,対策は簡単なので,周知する以外にない。

追記:私の発言の甲斐もあってか,MoodleトップページからMoodle Security Centerへのリンクが張られた。実は後者サイトの存在すら知らなかった。

Using Moodle: Possible security exploit?ではまだFull Disclosureについて議論が続いている。セキュリティホール memo にはまだ載せてもらえていない(まだまだMoodleはマイナーなソフトなのだろう)。