ReflectにRFI脆弱性&WebLoginにXSS脆弱性
2008年11月25日 21時34分 shortlink:http://modx.jp/?id=22
MODxのコアパッケージに同梱されているスニペット「Reflect」と「WebLogin」に、危険度の高いRFI脆弱性とXSSの脆弱性が発見されました。
影響を受けるのは、PHPの設定でregister_globalsが有効になっている環境です。第三者がReflectを利用してサーバ内の任意のスクリプトを実行することができてしまいます。また、allow_url_fopenも有効になっている場合は外部のスクリプトも実行することができ、サーバが乗っ取られるなどの非常に危険な攻撃を受ける可能性があります。
今回のRFI脆弱性の原因はReflect本体の脆弱性というよりは、本来、マネージャにコピー&ペーストして利用するためのファイルがコアパッケージに同梱されていることにあります。そのため、サーバ内の/assets/snippets/reflect/snippet.reflect.phpを削除して対処すれば、Reflect自体の利用に問題はありません。
なお、Reflectを手動でインストールする場合でも、snippet.reflect.phpをサーバにアップロードしないように注意する必要があります。また、Reflectに限らず、リソースをインストールする場合はコピー&ペースト用のファイルをアップロードしないように注意してください。コピー&ペースト用のファイルは、サーバにアップロードする目的で書かれたものではないため、安易にアップロードしてしまうと同様の脆弱性が明らかになるリソースが他にも存在する可能性があります。
WebLoginについてはXSS脆弱性が発見されており、こちらも任意のスクリプトを実行することができる危険な脆弱性です。修正が行われるまではWebLoginを使用しないなどの対策が必要になります。
将来的には、コアとリソースは別々に配布されることになるため、こういった脆弱性への対応もスムーズになっていくことでしょう。