【緊急リリース】opDiaryPlugin 1.3.2, 1.2.0.1, 1.0.0.1 以下に存在するWeb全体に公開機能に関するプライバシー上の問題対応のお知らせ (OPSA-2011-003)
09 / 01 木曜日 2011
opDiaryPlugin 1.3.2, 1.2.0.1, 1.0.0.1 以下には、日記をWeb全体に公開する機能に関するプライバシー上の問題が存在します。
本日9月1日、この問題の対策版として opDiaryPlugin 1.3.2.1, 1.2.0.2, 1.0.0.2 のリリースをおこないましたので、内容を確認のうえバージョンアップをお願いいたします。
本問題について
影響を受けるシステム
以下の「Web全体に公開」機能が実装された opDiaryPlugin を利用しているサイト
- opDiaryPlugin 1.3.2 以下(OpenPNE 3.6beta/3.7 向け)
- opDiaryPlugin 1.2.0.2 以下(OpenPNE 3.4 向け)
- opDiaryPlugin 1.0.0.1 以下(OpenPNE 3.2 向け)
(OpenPNE 3.0 向けの opDiaryPlugin 0.8.x には本問題の影響はありません)
概要
「Web全体に公開」機能が実装された opDiaryPlugin では、メンバーが「Web全体に公開」に指定した日記を非ログイン状態でも表示できるようになっており、このページには日記と共にメンバーのニックネームとプロフィール画像が表示されます(携帯版の場合は、プロフィール画像は表示されませんがニックネームは表示されます)。
「Web全体に公開」の日記を書いたメンバーのニックネームとプロフィール画像が表示されるのは想定された仕様ですが、opDiaryPlugin 内の特定のページへアクセスすることにより、「Web全体に公開」の日記を書いているかどうかに関わらず、任意のSNSメンバーのニックネームとプロフィール画像が外部から閲覧できてしまう問題がありました。そのため、自分のニックネームやプロフィール画像が非ログイン状態でも閲覧されてしまうことについて認識していないメンバーの情報がSNS外部から閲覧可能な状態となっていました。
また、「Web全体に公開」機能を管理者が無効にすることができず、SNS内の情報は外部には非公開であることが前提でメンバーによる公開設定も禁止したいSNSで、opDiaryPlugin を利用することができませんでした。
想定される影響
ニックネームやプロフィール画像に含まれる、メンバーがSNS外への公開を意図していない情報を、SNSへのアカウント登録やログインなしで閲覧できてしまうことがあります。
対応方法・回避方法
対応方法については、本エントリの「本問題への対応方法」をご覧ください。
回避方法
以下を実施することで、この問題を回避することができます。
- 管理画面の「プラグイン設定」において、 opDiaryPlugin を無効にする
本問題への対応方法
「影響をうけるシステム」で示した条件を満たすすべてのサイトは、以下の「プラグインバージョンアップ(必須)」および「日記をWeb全体に公開する機能の無効化(任意)」の対応を実施してください。
プラグインバージョンアップ(必須)
利用している OpenPNE のバージョンが 3.6beta13, 3.4.15, 3.2.7.5 よりも古い場合、最新版へマイナーバージョンアップをおこなってください。
各バージョンのマイナーバージョンアップ手順書はパッケージに同梱されていますが、以下からも確認することができます。
- OpenPNE 3.6beta13 バージョンアップ手順書 (バージョンが 3.4 と表記されていますが、この手順は 3.6.x でも有効なものです)
- OpenPNE 3.4.15 バージョンアップ手順書
- OpenPNE 3.2.7.5 バージョンアップ手順書
手順書に従ってバージョンアップをおこなうとバンドルされているプラグインも更新されます。
既に最新版の OpenPNE を利用している場合、以下のコマンドを実行してください。
$ ./symfony openpne:migrate
※OpenPNE 3.2.7.5 を利用している場合、openpne:migrate 実行時に「PHP Strict standards」のエラーが大量に表示されてしまい処理が完了しないことがあります。この場合は openpne:migrate の代わりに以下のように opPlugin:sync タスクを実行してください。
(今回のリリース内容では opPlugin:sync でも問題なくアップデートすることができます。)
$ ./symfony opPlugin:sync
今回対策されたプラグインのうち、バンドルされていないバージョンを利用しているなどの理由により、自動的にバージョンアップがおこなわれない場合、プラグインのリリース情報を参考に更新をおこなってください。
- opDiaryPlugin
- opDiaryPlugin-1.3.2.1
- opDiaryPlugin-1.2.0.2
- opDiaryPlugin-1.0.0.2
日記をWeb全体に公開する機能の無効化(任意)
今回の対策版では「日記をWeb全体に公開する機能」を完全に無効化するための設定を管理画面に追加しています。この設定は任意です。
SNS内の情報は外部には非公開であることが前提のSNSを運用しており、メンバーがWeb全体に公開の日記を書いたり、それに伴ってメンバーのニックネームやプロフィール写真の情報が公開されてしまうのが問題である場合は、プラグインのバージョンアップと合わせてこの設定もおこなってください。
日記をWeb全体に公開する機能を無効化した場合には、メンバーが日記の作成・編集をする際に公開範囲として「Web全体に公開」を選択できないようになります。また、メンバーが過去に書いた日記ページも含めて、opDiaryPlugin 内のすべてのページを非ログイン状態では見られないようになります。
設定は以下の手順でおこなってください。
- 管理画面の「プラグイン設定」から opDiaryPlugin の「設定」をクリックし、日記プラグイン設定画面を開く
- 「Web全体に公開機能使用設定」で「使用しない」を選択し、フォーム下部の「確定」ボタンをクリックする
セキュリティ上の問題の報告手順について
OpenPNE プロジェクトでは、以下に案内している通り、セキュリティ上の問題の報告を受け付ける窓口 (security@openpne.jp) を用意しています。
もしセキュリティ上の問題を発見した場合は、通常の公開されたバグ報告の手順を踏むのではなく、 security@openpne.jp に連絡してください。 security@openpne.jp はクローズドなメーリングリストであり、このメーリングリストでおこなわれた脆弱性の詳細情報などのやり取りがそのまま公開されることはありません。