最新ブログ
【緊急リリース】 opAuthMobileUIDPlugin 1.0.0 および opAuthMobileUIDPlugin 1.3.1 以下におけるログイン処理の実装不備に関するなりすましログインの脆弱性のお知らせ (OPSA-2011-002)
05 / 16 月曜日 2011
opAuthMobileUIDPlugin 1.0.0 および opAuthMobileUIDPlugin 1.3.1 以下にはログイン処理の実装に誤りがあり、なりすましログインがおこなわれてしまう問題が存在しています。
本日(05/16)、この問題の対策版として opAuthMobileUIDPlugin 1.0.0.1、opAuthMobileUIDPlugin 1.3.1.1 のリリースをおこないました。また、この問題を引き起こした OpenPNE 側の実装不備の修正のために OpenPNE 3.4.12.1、 OpenPNE 3.6beta10 のリリースも併せておこないました。
内容を確認のうえバージョンアップまたはパッチの適用をお願いいたします。
本問題について
影響を受けるシステム
- opAuthMobileUIDPlugin 1.0.0 もしくは opAuthMobileUIDPlugin 1.3.1 以下を利用しており、以下のすべての条件を満たしているサイト
- OpenPNE 2 からのアップグレードをおこなっている
- そのアップグレード作業が OpenPNE 3.4.12 以下もしくは OpenPNE 3.6beta9 以下のバージョンを利用しておこなわれた
概要
opAuthMobileUIDPlugin に実装上の不備があり、 OpenPNE 2 からのアップグレードをおこなった OpenPNE 3 に対して特定の操作をおこなうことで、なりすましログインがおこなわれてしまう問題がありました。
想定される影響
なりすましログインがおこなわれることによって、パスワードなどを要求する重要な操作を除き、ほとんどの情報の閲覧や変更を、なりすましたメンバーの権限でおこなわれてしまう可能性があります。
ただし、なりすましの対象となるメンバーは特定の条件を満たしている必要があり、悪意のあるユーザが自由にメンバーを選択できるというものではありません。
対応方法・回避方法
対応方法については、本エントリの「本問題への対応方法」をご覧ください。
回避方法
以下のいずれかを実施することで、この問題を回避することができます。
- 管理画面の「SNS 設定」において、「携帯版使用設定」を「使用しない」に設定する
- 管理画面の「プラグイン設定」内「認証プラグイン設定」において、 opAuthMobileUIDPlugin を無効にする
謝辞
本問題は、囲碁SNS goxi 管理人 政光順二様よりご報告いただきました。厚く御礼申し上げます。
本問題への対応方法
「影響をうけるシステム」で示した条件を満たすすべてのサイトは、以下のすべての対応を実施してください。
OpenPNE 3
対策版へのマイナーバージョンアップもしくは修正パッチの適用を実施してください。
- OpenPNE 3.6beta10
- [.zip 版ダウンロード] [修正パッチ]
- OpenPNE 3.4.12.1
- [.zip 版ダウンロード] [修正パッチ]
- OpenPNE 3.6beta10 バージョンアップ手順書 (バージョンが 3.4 と表記されていますが、この手順は 3.6.x でも有効なものです)
- OpenPNE 3.4.12.1 バージョンアップ手順書
- opAuthMobileUIDPlugin
- opAuthMobileUIDPlugin-1.0.0.1
- opAuthMobileUIDPlugin-1.3.1.1
OpenPNE3本体のマイナーバージョンアップを行うとバンドルされている全てのプラグインも更新されます。
マイナーバージョンアップ手順
パッケージに同梱されているバージョンアップ手順書に記載されている通りに作業を実施してください。
各バージョンのマイナーバージョンアップ手順書は以下からも確認することができます。
パッチ適用手順
1. OpenPNEを設置しているディレクトリにパッチファイルをアップロードします
2. SSHでログインし、1 のディレクトリに移動します
3. 以下のコマンドを実行します
$ patch -p1 < パッチファイル名
4. 以下のコマンドを実行します
$ ./symfony openpne:migrate
OpenPNE プラグイン
OpenPNE 3 本体のマイナーバージョンアップをおこなうとバンドルプラグインのバージョンアップも自動的におこなわれます。
そのため、バンドルプラグインについては個別にバージョンアップする必要はありません。
今回対策されたプラグインのうち、バンドルされていないバージョンを利用しているなどの理由により、自動的にバージョンアップがおこなわれない場合、各プラグインのリリース情報を参考に更新をおこなってください。
セキュリティ上の問題の報告手順について
OpenPNE プロジェクトでは、以下に案内している通り、セキュリティ上の問題の報告を受け付ける窓口 ([email protected]) を用意しています。
もしセキュリティ上の問題を発見した場合は、通常の公開されたバグ報告の手順を踏むのではなく、 [email protected] に連絡してください。 [email protected] はクローズドなメーリングリストであり、このメーリングリストでおこなわれた脆弱性の詳細情報などのやり取りがそのまま公開されることはありません。
安定版 OpenPNE 3.4.12 リリースのお知らせ
05 / 12 木曜日 2011
OpenPNE 開発チームの坂田です。
本日、安定版 OpenPNE 3.4.12 をリリースしました。
次回のリリースは 2011年6月9(木) を予定しています。
バージョンアップ・インストール
ダウンロード
OpenPNE 3.4.12(zipアーカイブ) は以下のボタンからダウンロードできます。
- zip版ダウンロード
パッケージの詳細は、こちらになります。
OpenPNE 3.4.12
インストール
OpenPNE 3.4.12 のインストールは、OpenPNE3.4 セットアップ手順 を確認ください。
3.2.x から 3.4 へのアップグレード、3.4 の以前のバージョンからのマイナーバージョンアップを行う場合は、このドキュメントを参考ください。
opIntroFriendPlugin 0.9.2.1 リリースのお知らせ
05 / 09 月曜日 2011
OpenPNE 開発チームの長澤です。
本日 2011/05/09 (月)、 opIntroFriendPlugin 0.9.2.1 をリリースしました。
このバージョンでは、「退会したメンバーの紹介文が残る」という問題の修正をおこなっていますので、
opIntroFriendPlugin 0.9.x をお使いの方は 0.9.2.1 へのアップデートをお願いします。
opOpenSocialPlugin 安定版 0.9.10, 1.0.5, 1.2.3 リリースのお知らせ
05 / 08 日曜日 2011
本日、 2011年5月8日 (日) に、 opOpenSocialPlugin の安定版 0.9.10, 1.0.5, 1.2.3 をリリースしました。
概要
それぞれの安定版バージョンについて、バグ修正の取込みを行いました。
修正されたバグ
ロードマップをご覧ください。
- 0.9.10 (8件のバグ修正)
- 1.0.5 (12件のバグ修正)
- 1.2.3 (11件のバグ修正)
インストール・アップデート
必要な OpenPNE3 のバージョンは以下になります。
アップグレードをする場合は、OpenPNE3自体のバージョンをよく確認してください。
0.9.10 | OpenPNE3.2.x〜 |
1.0.5 | OpenPNE3.4.x〜 |
1.2.3 | OpenPNE3.6.x〜 (現在開発中) |
インストールやアップデートの失敗に備えて、データベースのバックアップを
取ることを推奨します。
0.9.10
OpenPNE3 のディレクトリで、以下のコマンドを実行します。
$ php symfony opPlugin:install opOpenSocialPlugin -r 0.9.10
$ php symfony openpne:migrate
$ php symfony cc
続けて、ドキュメントのセットアップの章を御覧ください。
http://redmine.openpne.jp/projects/plg-open-social/wiki
1.0.5
OpenPNE3 のディレクトリで、以下のコマンドを実行します。
$ php symfony opPlugin:install opOpenSocialPlugin -r 1.0.5
$ php symfony openpne:migrate
$ php symfony cc
続けて、ドキュメントのセットアップの章を御覧ください。
http://redmine.openpne.jp/projects/plg-open-social/wiki
1.2.3
OpenPNE3 のディレクトリで、以下のコマンドを実行します。
$ php symfony opPlugin:install opOpenSocialPlugin -r 1.2.3
$ php symfony openpne:migrate
$ php symfony cc
続けて、ドキュメントのセットアップの章を御覧ください。
http://redmine.openpne.jp/projects/plg-open-social/wiki
バグ報告・開発について
このプラグインに何か、問題がありましたら
http://redmine.openpne.jp/projects/plg-open-social/issues/new
こちらで Issue を作成してください。
(ただし、セキュリティ上の問題は [email protected] にメールを送ってください)
開発に関する相談などは、開発MLでもどうぞ!
Github上で開発を進めています。forkやpull requestは大歓迎です!
http://github.com/kawahara/opOpenSocialPlugin
opLiteMailTaskPlugin の権限確認不備に関する修正リリース
04 / 26 火曜日 2011
先日 opLiteMailtaskPlugin 1.0.2.1, 1.2.2.1 をリリースしました。
このバージョンではプロフィール公開範囲の権限確認不備による問題を修正しています。
何かバグ、要望がありましたら、お気軽に以下のページから作成ください。(チケット作成はRedmineに登録している必要があります。)
・opLiteMailtaskPlugin チケット作成
インストールコマンド
OpenPNE3.6Beta1以降をお使いの場合
$ ./symfony opPlugin:install opLiteMailTaskPlugin -r 1.2.2.1
セットアップドキュメントはこちらを御覧ください
OpenPNE3.4までのバージョンをお使いの場合
$ ./symfony opPlugin:install opLiteMailTaskPlugin -r 1.0.2.1
セットアップドキュメントはこちらを御覧ください
【緊急リリース補足】PHP 5.3.4 以降で OpenPNE プラグインが導入できない問題について
04 / 21 木曜日 2011
「【緊急リリース】OpenPNE 3 とバンドルプラグインに存在する、権限確認不備に関する複数の問題のお知らせ (OPSA-2011-001)」でお知らせしたように、先の脆弱性への対応版としてリリースされた OpenPNE 3.0.8.4, 3.2.7.5, 3.4.10.1, 3.6beta9 では、「PHP 5.3.4 以降で OpenPNE プラグインが導入できない」問題についての対応もおこなわれています。本エントリでは、この問題についての解説をおこなっていきます。
本問題について
影響を受けるシステム
OpenPNE 3.0.8.3 以下、 3.2.7.4 以下、 3.4.11 以下、 3.6beta8 以下を、 PHP 5.3.4 以降で動作させているサイト
概要
OpenPNE 3 で利用しているバージョンの PEAR::Archive_Tar (tar アーカイブを扱うライブラリ) に存在していたバグと、 PHP 5.3.4 以降に加わったセキュリティ面での改善が組み合わさることで、「openpne:install、openpne:migrate や opPlugin:install といったコマンドの実行時に、特定の条件を満たしたプラグインのインストールが途中で失敗する」という問題が発生していました。
なお、技術的な詳細については本件の対応をおこなったチケットに記されておりますので、そちらをご覧ください。
回避方法
同梱されている Archive_Tar を新しいバージョンに差し替えることで、この問題を回避することができます。
最新の Archive_Tar は http://pear.php.net/package/Archive_Tar/download からダウンロードすることができます。ダウンロードしたアーカイブを展開し、 OpenPNE 3 の lib/vendor/PEAR/Archive/Tar.php を 展開ディレクトリの Archive/Tar.php と差し替えてください。
なお、 PHP 5.3.3 以下で動作させるようにすることでもこの問題を回避することができますが、 PHP のバージョンを落とすということは、最新版で修正済みのバグやセキュリティ脆弱性の影響を受けたり、性能の低下などのリスクを冒すことになるため、推奨しません。
本問題への対応方法
「【緊急リリース】OpenPNE 3 とバンドルプラグインに存在する、権限確認不備に関する複数の問題のお知らせ (OPSA-2011-001)」でご案内している手順により、対策版へのマイナーバージョンアップもしくは修正パッチの適用を実施してください。
本件に関するお詫び
末筆ながら、以下二点に関してお詫び申し上げます。誠に申し訳ございませんでした。
- OPSA-2011-001 の脆弱性と本件という、まったくの別事象に関する修正をまとめて緊急リリースせざるを得ず、このように判りにくい告知になってしまったこと
- 本件は実質的に OpenPNE のインストールがおこなえないという致命的な問題であるにも関わらず、発覚からおよそ 3 ヶ月間対応されないままであったこと
【緊急リリース】OpenPNE 3 とバンドルプラグインに存在する、権限確認不備に関する複数の問題のお知らせ (OPSA-2011-001)
04 / 21 木曜日 2011
本日(04/21)、この問題の対策版リリースを、 OpenPNE 3 と以下のバンドルプラグインに対しておこないましたので、内容を確認のうえバージョンアップまたはパッチの適用をお願いいたします。
- opAshiatoPlugin
- opAlbumPlugin
- opCommunityTopicPlugin
- opDiaryPlugin
- opFavoritePlugin
- opMessagePlugin
- opOpenSocialPlugin
- opRankingPlugin
本問題について
影響を受けるシステム
- OpenPNE 3.0.8.3 以下、 3.2.7.4 以下、 3.4.11 以下、 3.6beta8 以下を利用しており、次の条件のうちいずれかを満たすサイト
- プロフィール項目の「誕生日」を利用している
- プロフィール項目の「自己紹介」を利用しており、かつ、公開範囲設定を「メンバー選択」にしているか、公開範囲設定が「固定」で「デフォルト値」を「全員に公開」以外にしている(※)
- opAshiatoPlugin 0.8.0 以下、 0.9.0 以下、0.9.1.1 以下が有効なサイト
- opMessagePlugin 0.8.2.3 以下、 0.9.1 以下が有効なサイト
- opOpenSocialPlugin 0.9.9.1 以下、 1.0.4.1 以下、 1.2.2 以下、 1.3.1 以下を利用しており、プロフィール項目の「誕生日」が有効なサイト
- opCommunityTopicPlugin 0.9.8 以下、 1.0.1 以下が有効なサイト
- opDiaryPlugin 1.0.0 以下、 1.2.0 以下、 1.3.1 以下が有効なサイト
- opAlbumPlugin 0.9.4 以下が有効なサイト
- opFavoritePlugin 0.8.0.1 以下、 0.9.0.1 以下、 1.0.0.2 以下が有効で、(※)と同じ条件を満たしているサイト
- opRankingPlugin 0.8.0 以下、 1.0.0 以下が有効で、(※)と同じ条件を満たしているサイト
概要
OpenPNE 3 やバンドルプラグインの特定箇所における、権限の確認に不備があったために、以下のようなプライバシー上の問題が生じていました。
- 特定の URL にアクセスすることで、他人についているあしあとの一覧が閲覧できていた
- opOpenSocialPlugin で提供される Person API が誕生日・年齢の公開範囲に従っていなかった(非公開設定であっても出力していた)
- コミュニティトピック検索において、誤った検索条件を指定していたために、非公開のコミュニティトピックが含まれているなど、適切でない検索結果になっていた
- SNS のメンバーでなくても opDiaryPlugin, opAlbumPlugin の特定のログイン後ページが閲覧できていた
- アクセスブロックされていてもアルバムを見ることができていた
- アクセスブロックされていても特定の操作をおこなうことでメッセージを送信できていた
- メンバー検索やランキング、お気に入り関連画面において、年齢や自己紹介といった一部のプロフィール項目の公開範囲が適切に考慮されていなかった
想定される影響
条件を満たすサイトにおいて、利用者が公開を希望していない特定の情報が、権限を満たさない場合でも知られてしまうことがあります。
また、 opMessagePlugin においては、アクセスブロックされていてもメッセージの送信が可能であるために、受信者が嫌がらせ等のメッセージを拒否できない状態に陥ってしまうことがあります。
対応方法・回避方法
対応方法については、本エントリの「本問題への対応方法」をご覧ください。
回避方法
- 影響を受けるプラグインを有効にしているが、実際にはそのサイトで利用していない場合、当該プラグインを無効にすることで一時的にこの問題を回避することができます
- OpenPNE 3 が抱える問題については、プロフィール項目の「誕生日」や「自己紹介」を削除することでこの問題を回避することができます
- opFavoritePlugin や opRankingPlugin が抱える問題については、プロフィール項目の「自己紹介」を削除することでもこの問題を回避することができます
なお、プロフィール項目を削除してしまうと、そのプロフィール項目に対するユーザの入力値も削除されてしまうため、この対応を採る場合、充分に検討したうえで実施してください。
本問題への対応方法
「影響をうけるシステム」で示した条件を満たすすべてのサイトは、以下の対応を実施してください。
なお、 opOpenSocialPlugin を利用している場合は、本エントリ内「opOpenSocialPlugin の修正適用に関する注意事項」もご確認ください。
OpenPNE 3
対策版へのマイナーバージョンアップもしくは修正パッチの適用を実施してください。
※以下のバージョンでは、本脆弱性への対応のほかに、 PHP 5.3.4 以降で一部のプラグインパッケージが導入できなかったバグへの対応もおこなわれています。これについては別途補足エントリにて説明いたします。
- OpenPNE 3.6beta9
- [.zip 版ダウンロード] [修正パッチ]
- OpenPNE 3.4.11.1
- [.zip 版ダウンロード] [修正パッチ]
- OpenPNE 3.2.7.5
- [.zip 版ダウンロード] [修正パッチ]
- OpenPNE 3.0.8.4
- [.zip 版ダウンロード] [修正パッチ]
OpenPNE3本体のマイナーバージョンアップを行うとバンドルされている全てのプラグインも更新されます。
マイナーバージョンアップ手順
パッケージに同梱されているバージョンアップ手順書に記載されている通りに作業を実施してください。
各バージョンのマイナーバージョンアップ手順書は以下からも確認することができます。
- OpenPNE 3.6beta9 バージョンアップ手順書 (バージョンが 3.4 と表記されていますが、この手順は 3.6.x でも有効なものです)
- OpenPNE 3.4.11.1 バージョンアップ手順書
- OpenPNE 3.2.7.5 バージョンアップ手順書
- OpenPNE 3.0.8.4 バージョンアップ手順書
パッチ適用手順
1. OpenPNEを設置しているディレクトリにパッチファイルをアップロードします
2. SSHでログインし、1 のディレクトリに移動します
3. 以下のコマンドを実行します
$ patch -p1 < パッチファイル名
4. 以下のコマンドを実行します
$ ./symfony openpne:migrate
OpenPNE プラグイン
OpenPNE 3 本体のマイナーバージョンアップをおこなうとバンドルプラグインのバージョンアップも自動的におこなわれます。
そのため、バンドルプラグインについては個別にバージョンアップする必要はありません。
今回対策されたプラグインのうち、バンドルされていないバージョンを利用しているなどの理由により、自動的にバージョンアップがおこなわれない場合、各プラグインのリリース情報を参考に更新をおこなってください。
- opAshiatoPlugin
- opAshiatoPlugin-0.8.0.1
- opAshiatoPlugin-0.9.0.1
- opAshiatoPlugin-0.9.1.2
- opAlbumPlugin
- opAlbumPlugin-0.9.3.1
- opAlbumPlugin-0.9.4.1
- opCommunityTopicPlugin
- opCommunityTopicPlugin-0.9.8.1
- opCommunityTopicPlugin-1.0.1.1
- opDiaryPlugin
- opDiaryPlugin-1.0.0.1
- opDiaryPlugin-1.2.0.1
- opDiaryPlugin-1.3.1.1
- opFavoritePlugin
- opFavoritePlugin-0.8.0.2
- opFavoritePlugin-0.9.0.2
- opFavoritePlugin-1.0.0.4
- opOpenSocialPlugin
- opOpenSocialPlugin-0.9.9.2
- opOpenSocialPlugin-1.0.4.2
- opOpenSocialPlugin-1.2.2.1
- opOpenSocialPlugin-1.3.1.1
- opRankingPlugin
- opRankingPlugin-0.8.0.1
- opRankingPlugin-1.0.0.1
- opMessagePlugin
- opMessagePlugin-0.8.2.4
- opMessagePlugin-0.9.1.1
opOpenSocialPlugin の修正適用に関する注意事項
今回のリリースにより、非公開の誕生年が Person API から取得できなくなります。取得不能な誕生年を含む出力をリクエストした場合、年部分が 0000 年であるとして出力されるようになります。これは、 OpenSocial 0.9 の以下の仕様に従った変更となります。
The year value MAY be set to 0000 when the age of the Person is private or the year is not available.
0000 年を返すことにより、いわゆる 2038 年問題への配慮がなされていない(0000 年(紀元前1年)の日付を認識できない)アプリが動作しなくなる可能性があります。また、 2038 年問題への配慮がなされているアプリでも、この変更により意図しない動作がおこなわれるようになる可能性があります。
したがって、 opOpenSocialPlugin を使用したサイトでは、提供しているアプリが影響を受けないかどうかを必ず確認したうえで、修正の適用をおこなってください。
セキュリティ上の問題の報告手順について
OpenPNE プロジェクトでは、以下に案内している通り、セキュリティ上の問題の報告を受け付ける窓口 ([email protected]) を用意しています。
もしセキュリティ上の問題を発見した場合は、通常の公開されたバグ報告の手順を踏むのではなく、 [email protected] に連絡してください。 [email protected] はクローズドなメーリングリストであり、このメーリングリストでおこなわれた脆弱性の詳細情報などのやり取りがそのまま公開されることはありません。
シリアル番号について
OpenPNE プロジェクトでは、今回から、脆弱性リリースにシリアル番号を導入することにしました。
今回の緊急リリースには OPSA-2011-001 というシリアル番号を与えます。このシリアル番号でない緊急リリースは、たとえ類似の問題であったとしても、この緊急リリースとは異なるリリースとなるのでご注意ください。
安定版 OpenPNE 3.4.11 リリースのお知らせ
04 / 14 木曜日 2011
OpenPNE 開発チームの坂田です。
本日、安定版 OpenPNE 3.4.11 をリリースしました。
次回のリリースは 2011年5月12日(木) を予定しています。
バージョンアップ・インストール
ダウンロード
OpenPNE 3.4.11(zipアーカイブ) は以下のボタンからダウンロードできます。
- zip版ダウンロード
パッケージの詳細は、こちらになります。
OpenPNE 3.4.11
インストール
OpenPNE 3.4.11 のインストールは、OpenPNE3.4 セットアップ手順 を確認ください。
3.2.x から 3.4 へのアップグレード、3.4 の以前のバージョンからのマイナーバージョンアップを行う場合は、このドキュメントを参考ください。
trac.openpne.jp復旧のお知らせ
04 / 12 火曜日 2011
今村です。
サーバー障害により停止していたhttp://trac.openpne.jp/が先ほど2011/04/12の19:48ごろ復旧いたしました。停止中は大変ご迷惑をおかけして誠に申し訳ございませんでした。
trac.openpne.jp 障害についての詳細
発生日時:
・2011/04/11 8:36
復旧日時:
・2011/04/12 19:48
原因:
・サーバの故障(ハード要因)
補足:
2011/3/11 5:00 時点のバックアップデータから復旧しています。
・3/11 5:00 以降の SVN リポジトリの変更はすべて復旧できていることが確認できています。
・3/11 5:00 以降の Trac の変更が(もしあれば)復旧できていません。
SVNのコミット権限について
この障害によりSVN の認証ファイルがなくなってしまったため、SVN コミット権を再発行する必要があります。
改めてコミット権限が必要な方は下記リンクをお読みになり申請をお願いします。
OpenPNEのコミッターになる
閲覧(checkout や update)については特に申請は必要ありません。
OpenPNE2 を変更したい目的なら GitHub の方の利用をおすすめします。
安定版 OpenPNE 3.4.10 リリースのお知らせ
03 / 17 木曜日 2011
OpenPNE 開発チームの卜部です。
本日、安定版 OpenPNE 3.4.10 をリリースしました。
前回11月のリリースから大変長らくお待たせいたしました!
バージョンアップ・インストール
ダウンロード
OpenPNE 3.4.10(zipアーカイブ) は以下のボタンからダウンロードできます。
- zip版ダウンロード
パッケージの詳細はこちらになります。
OpenPNE 3.4.10
インストール
OpenPNE 3.4.10 のインストールは、OpenPNE3.4 セットアップ手順 を確認ください。
3.2.x から 3.4 へのアップグレード、3.4 の以前のバージョンからのマイナーバージョンアップを行う場合は、このドキュメントを参考ください。
また、3.4.9 以前または 3.2.7.2 以前を利用の場合は、【緊急リリース】OpenPNE 3 に存在するセッション管理の不備に関する複数の脆弱性のお知らせ の内容を確認後、手順書の $ ./symfony openpne:migrate の操作の後に以下のコマンドを付け加えてください。
$ ./symfony openpne:migrate
// 以下の操作を追加する
$ ./symfony openpne:fix-session-db