【緊急リリース】opCommunityTopicPlugin 1.0.3 に存在する CSRF 脆弱性対応のお知らせ (OPSA-2012-001)
02 / 28 火曜日 2012
opCommunityTopicPlugin 1.0.3 には、コミュニティイベント参加者管理機能において、識別情報の検証が漏れていたことによる CSRF (クロスサイトリクエストフォージェリ) 脆弱性が存在します。
本日 (2/28)、この問題の対策版として opCommunityTopicPlugin 1.0.3.1 のリリースをおこないましたので、内容を確認のうえバージョンアップまたはパッチの適用をお願いいたします。
本問題について
影響を受けるシステム
opCommunityTopicPlugin 1.0.3 (2012/2/28 12:00 まで OpenPNE 3.6.2 にバンドルされていたバージョン)
※opCommunityTopicPlugin 1.0.2 以下や、 OpenPNE 3.4 系にバンドルされている opCommunityTopicPlugin 0.9 系については本脆弱性は存在しません。
※2012/2/28 12:00 以降に OpenPNE 3.6.2 をインストールした場合、本脆弱性に対応済みのバージョンが自動的にバンドルされます。
脆弱性の説明
opCommunityTopicPlugin 1.0.3 にて追加されたコミュニティイベント参加者管理機能において、 CSRF トークンと呼称される識別情報の確認をおこなっていない処理が存在しました。この確認漏れによって、悪意のあるユーザが、コミュニティイベント作成者などの正当な権限を有するメンバーに対し、コミュニティイベント参加者の追加や削除を強制させることが可能な状態になっていました。
注意事項
なお、本脆弱性の原因となったコミュニティイベント参加者管理機能は、 opCommunityTopicPlugin 1.0.3 に含める予定ではなかったにも関わらず、開発時の不手際によって誤って混入してしまったものです。
本脆弱性に関連する箇所以外にも不完全な実装が存在するため、今回リリースした opCommunityTopicPlugin 1.0.3.1 において、この機能を一度削除することにします。既にこの機能をご活用されている場合、ご不便をおかけすることになりますが、ご理解いただきますようお願いします。
想定される影響
ログイン済みメンバーが悪意のある URL を読み込んだ場合、そのメンバーに管理権限のあるコミュニティイベント参加者の追加や削除がおこなわれてしまう可能性があります。
対策方法
「影響をうけるシステム」で示した条件を満たすすべてのサイトは、以下の対応を実施してください。
プラグインバージョンアップ
OpenPNE 3.6.2 以降を使用している場合、プロジェクトルートディレクトリで以下のコマンドを実行することで、バンドルされた opCommunityTopicPlugin が対策済みのバージョンに更新されます。
$ ./symfony openpne:migrate --target=opCommunityTopicPlugin
OpenPNE 3.4 で独自に opCommunityTopicPlugin 1.0.3 を使用しているなどの理由により、自動的にバージョンアップがおこなわれない場合、プラグインのリリース情報を参考に更新をおこなってください。
- opCommunityTopicPlugin
- opCommunityTopicPlugin-1.0.3.1
回避方法
対策方法に示した対応をすぐにおこなえない場合、以下を実施することで、この問題を回避することができます。
- 管理画面の「プラグイン設定」において、 opCommunityTopicPlugin を無効にする
セキュリティ上の問題の報告手順について
OpenPNE プロジェクトでは、以下に案内している通り、セキュリティ上の問題の報告を受け付ける窓口 ([email protected]) を用意しています。
もしセキュリティ上の問題を発見した場合は、通常の公開されたバグ報告の手順を踏むのではなく、 [email protected] に連絡してください。 [email protected] はクローズドなメーリングリストであり、このメーリングリストでおこなわれた脆弱性の詳細情報などのやり取りがそのまま公開されることはありません。