OpenPNE リリース情報
OpenPNE3.6.0 のリリース延期および RC2 リリースについて
09 / 27 火曜日 2011
※ 2011/09/28:この記事の本文に追記しました
OpenPNE 開発チームの今村です。
OpenPNE3.6 の次回のリリースについてお知らせです。
2011/09/30に OpenPNE3.6.0 のリリースを予定していましたが、
RC1 で発覚した重大な問題を対応するためリリースを1週間延期します。
この問題とは、opDiaryPlugin と opCommunityTopicPlugin に追加されたmigrateスクリプトに不備があり、正常にmigrateが終了できないという現象です。
詳細については、下記のチケットをご確認ください。
発覚した重大な問題を対応したバージョンを OpenPNE3.6RC2 として
リリースすることを予定しています。
今後の予定についてまとめると、下記の通りになります。
- 3.6 RC2
- 2011/09/30 (金) リリース
- 3.6 RC2対応項目
- 3.6.0
- 2011/10/07 (金) リリース
- 3.6.0対応項目
OpenPNE 3.6RC1 リリースのお知らせ
09 / 22 木曜日 2011
OpenPNE 3.4.16 リリース延期のお知らせ
09 / 16 金曜日 2011
OpenPNE 開発チームのきわです。
OpenPNE 3.4 次回リリースについてのお知らせです。
安定版 OpenPNE 3.4.15 リリースのお知らせ にて、
次回のリリースは 2011年9月8日(木) を予定しています。
とお知らせしましたが、リリースが延期となりました。
次回 OpenPNE 3.4.16 のリリースは 2011/10/13 (木) を予定しています。
なお、 OpenPNE 3.4 は 2011/9/15 に緊急リリース(OPSA-2011-004)をおこなっています。
最新バージョンは OpenPNE 3.4.15.1 となりますので、それ以前のバージョンをご利用のかたはバージョンアップをお願いします。
【緊急リリース】すべてのバージョンの OpenPNE に存在する、クライアント側キャッシュを経由した非公開情報漏洩の問題への対応のお知らせ (OPSA-2011-004)
09 / 15 木曜日 2011
OpenPNE 2 および OpenPNE 3 には、認証後のページをクライアントに送出する際に、キャッシュ制御に関する指示をおこなっていなかったため、ユーザの利用する環境によっては、非公開情報を含むページの情報がキャッシュ経由で他人に表示されてしまう問題が存在します。
本日 9 月 15 日 (木)、この問題の対策版リリースをおこないましたので、内容を確認のうえ、バージョンアップまたはパッチの適用をお願いいたします。
なお、 OpenPNE 2 については、設定によりこの問題を回避することが可能ですので、本エントリで併せて回避方法を解説していきます。
本問題について
影響を受けるシステム
以下のいずれかの条件に当てはまる場合、本問題の影響を受けます。
- OpenPNE 3.0.8.4 以下、 3.2.7.5 以下、 3.4.15 以下、 3.6beta13 以下を利用しているサイト
- OpenPNE 2 を利用しているサイトで、 OPENPNE_SEND_NO_CACHE_HEADER の設定値が false (デフォルト値)に設定されているサイト
概要
Web ブラウザやプロキシサーバといったクライアントは、パフォーマンス等の観点からレスポンスをキャッシュすることがあります。しかし、サーバから提供されるコンテンツのなかにはキャッシュするべきでない、またはキャッシュに際して留意が必要なものも存在しています。 HTTP では、そのような性質を持ったコンテンツを特定のヘッダを含めてレスポンスすることで、キャッシュの可否や有効期限などといった指示をクライアントに伝えることができます。
ところが、 OpenPNE では、非公開情報が含まれるであろうページであっても、このキャッシュに関する指示をレスポンスに含んでいなかったため、クライアント環境によっては、たとえば以下のような問題が生じていました。
- Internet Explorer などのブラウザで、ログアウトしてもしばらくキャッシュからコンテンツが表示されてしまっていた
- キャッシュ機能を持つプロキシを複数ユーザ間で利用している場合に、プロキシ側にキャッシュされた他のユーザのコンテンツが表示されてしまっていた
なお、 RFC 2616 Hypertext Transfer Protocol — HTTP/1.1 の “13.4 Response Cacheability” によると、今回のようなケースでは、クライアントは(特定の条件を除き)キャッシュの保存や表示をおこなうことができる(MAY)とされています。したがって、ログインユーザや特定の権限を持ったユーザにしか公開しない種類のコンテンツを多く有する OpenPNE でキャッシュ制御の指示がおこなわれていなかったのは、明らかな誤りでした。
想定される影響
クライアント側でのキャッシュを閲覧されてしまうことで、正当な権限を持たない者に非公開情報の取得がおこなわれてしまう恐れがあります。
キャッシュがおこなわれていない、またはキャッシュが削除されたコンテンツに関しては、この問題を利用して正当な権限を持たない者に閲覧されてしまうことはありません。また、プロキシサーバ等によりキャッシュが共有されるケースで、特定のユーザの非公開情報に絞って取得しようとすることは困難であると考えられます。
対策方法・回避方法
対応方法については、本エントリの「本問題への対応方法」をご覧ください。
サーバ側での回避方法
OpenPNE が動作する Web サーバ等において、レスポンスに以下のようなヘッダを強制的に付加するよう設定することで、この問題を回避することができます。
- Expires: Fri, 22 Apr 1988 17:00:00 GMT
- Cache-Control: no-store, no-cache, private, max-age=0, must-revalidate, post-check=0, pre-check=0
- Pragma: no-cache
これらのヘッダを付加する Apache の設定の例は以下の通りです。
<IfModule mod_headers.c> Header set Expires "Fri, 22 Apr 1988 17:00:00 GMT" Header set Cache-Control "no-store, no-cache, private, max-age=0, must-revalidate, post-check=0, pre-check=0" Header set Pragma "no-cache" </IfModule>
ただし、すべてのユーザ間で共通のコンテンツを利用する(たとえば、 JavaScript や CSS などの静的ファイル)場合、常にこの設定値が適用されてしまうことでパフォーマンスが低下する恐れがあります。そのため、このような回避方法が採れる場合でも、「本問題への対応方法」を参考に、抜本的な対策をおこなうことを強く推奨します。
クライアント側での回避方法
キャッシュ機能を持つプロキシサーバを経由して OpenPNE を使用しており、プロキシサーバ側の設定でそのキャッシュ機能を無効にできる場合、ドキュメント等の案内に従ってキャッシュ機能を無効にすることで、この問題の影響を受けなくすることができます。
キャッシュ機能を持つプロキシサーバを経由していないか、キャッシュ機能を無効にしても OpenPNE のコンテンツがキャッシュされる場合、ブラウザ側でキャッシュをおこなっている可能性があります。このような場合は、ブラウザ側でキャッシュの更新確認に関する設定を変更することで、この問題の影響を受けなくすることができます。たとえば、 Internet Explorer を使用している場合は、 Microsoft 社のサポートページ内、「Internet Explorer のキャッシュ設定が Web の参照に与える影響」を参考に、「保存しているページの新しいバージョンの確認」を「ページを表示するごとに確認する」に設定してください。
本問題への対応方法
「影響を受けるシステム」で示した条件を満たすすべてのサイトは、以下の対応を実施してください。
OpenPNE 3
対策版へのマイナーバージョンアップもしくは修正パッチの適用を実施してください。
- OpenPNE 3.6beta14
- [.zip 版ダウンロード] [修正パッチ]
- OpenPNE 3.4.15.1
- [.zip 版ダウンロード] [修正パッチ]
- OpenPNE 3.2.7.6
- [.zip 版ダウンロード] [修正パッチ]
- OpenPNE 3.0.8.5
- [.zip 版ダウンロード] [修正パッチ]
マイナーバージョンアップ手順
パッケージに同梱されているバージョンアップ手順書に記載されている通りに作業を実施してください。
各バージョンのマイナーバージョンアップ手順書は以下からも確認することができます。
- OpenPNE 3.6beta14 バージョンアップ手順書 (バージョンが 3.4 と表記されていますが、この手順は 3.6.x でも有効なものです)
- OpenPNE 3.4.15.1 バージョンアップ手順書
- OpenPNE 3.2.7.6 バージョンアップ手順書
- OpenPNE 3.0.8.5 バージョンアップ手順書
パッチ適用手順
1. OpenPNEを設置しているディレクトリにパッチファイルをアップロードします
2. SSHでログインし、1 のディレクトリに移動します
3. 以下のコマンドを実行します
$ patch -p1 < パッチファイル名
OpenPNE 2
config.php で、以下の設定値を false から true に変更してください。
// ページのキャッシュをさせないヘッダを送信するかどうか // ただしau端末の場合はこの設定にかかわらず、常に「ページのキャッシュをさせないヘッダ」が送信されます define('OPENPNE_SEND_NO_CACHE_HEADER', false);
ただし、この設定項目は OpenPNE 2.8 以下のバージョンには存在しません。 OpenPNE 2.8 以下のバージョンをお使いの方は、前述の各種回避方法を参考に、この問題を回避するようにしてください。
セキュリティ上の問題の報告手順について
OpenPNE プロジェクトでは、以下に案内している通り、セキュリティ上の問題の報告を受け付ける窓口 ([email protected]) を用意しています。
もしセキュリティ上の問題を発見した場合は、通常の公開されたバグ報告の手順を踏むのではなく、 [email protected] に連絡してください。 [email protected] はクローズドなメーリングリストであり、このメーリングリストでおこなわれた脆弱性の詳細情報などのやり取りがそのまま公開されることはありません。
【緊急リリース】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 プロジェクトでは、以下に案内している通り、セキュリティ上の問題の報告を受け付ける窓口 ([email protected]) を用意しています。
もしセキュリティ上の問題を発見した場合は、通常の公開されたバグ報告の手順を踏むのではなく、 [email protected] に連絡してください。 [email protected] はクローズドなメーリングリストであり、このメーリングリストでおこなわれた脆弱性の詳細情報などのやり取りがそのまま公開されることはありません。
安定版 OpenPNE3.4.15 へのバージョンアップで発生する問題の改善のお知らせ
08 / 26 金曜日 2011
- 2011/08/30 : この記事の本文を改訂しました。
OpenPNE 開発チームの卜部です。
昨日の記事で 「安定版 OpenPNE3.4.15 へのバージョンアップ差し控えのお願い」 として安定版へのバージョンアップを控える旨の告知をしましたが、opMessagePlugin の修正版をリリースし、その後、バンドルプラグインリストを更新し、2011年8月26日(金) 18時10分 の段階で、この問題が改善されていることを確認しました。
緊急で対応いただいた opMessagePlugin のリードメンテナーの高橋さんにはお礼申し上げます。
問題の概要
OpenPNE3.4.15 には opMessagePlugin 0.9.2 がバンドルされており、 opMessagePlugin 0.9.2 では OpenPNE 3.4 系では使用できない関数を使用していました。これによりメッセージ機能のページが正常に表示できず、メッセージ機能が利用できない状況となっていました。
この問題を受けて 2011年8月26日(金) に、この問題を回避した opMessagePlugin 0.9.2.1 をリリースしました。これに併せて OpenPNE3.4.15 にバンドルする opMessagePlugin のバージョンを 0.9.2.1 に変更しました。
これから OpenPNE3.4.15 を利用する場合
この問題の対応が行なわれた以後に OpenPNE3.4.15 をインストール、あるいはバージョンアップして利用される場合は、問題なく OpenPNE3.4.15 を利用することができます。
これは OpenPNE3.4.15 本体には改修を加えず、バンドルプラグインリストを変更することで対応を行ったためです。現在は OpenPNE3.4.15 には opMessagePlugin 0.9.2.1 がバンドルされています。
すでに OpenPNE3.4.15 を利用している場合
2011年8月26日(金) 18時10分 よりも前に OpenPNE3.4.15 をインストール、またはバージョンアップして利用している場合、 opMessagePlugin 0.9.2 が使われています。
以下のコマンドで opMessagePlugin 0.9.2.1 にアップデートできます。
$ php symfony openpne:migrate
「安定版 OpenPNE3.4.15 へのバージョンアップ差し控えのお願い」に従って管理画面で opMessagePlugin を無効にしている場合は、設定を有効に戻してください。
修正内容
安定版 OpenPNE3.4.15 へのバージョンアップ差し控えのお願い
08 / 25 木曜日 2011
(2011/08/30 追記)以下に示す問題は 2011年8月26日(金) 18時10分 に解消されています。これ以降に OpenPNE3.4.15 をインストールする場合はこの問題の影響を受けません。詳細は次の記事 安定版 OpenPNE3.4.15 へのバージョンアップで発生する問題の改善のお知らせ (2011/08/26) をご覧ください。
OpenPNE 開発チームの卜部です。
前回リリースを行いました、OpenPNE3.4.15 のバンドルプラグインの
更新の影響により、一部動作に問題がでることが発覚しました。
安定版 OpenPNE3.4.15 へのバージョンアップは控えてください。
また、すでにバージョンアップされました場合、
一時的に opMessagePlugin を無効にして、ご利用ください。
これからバージョンアップをされる場合は、OpenPNE3.4.14 をご利用ください。
一時的にopMessagePlugin を無効にする手順
1. 管理画面にアクセス 2. [プラグイン設定] をクリック 3. opMesssagePlugin の [有効/無効] チェックボックスをオフにし、[設定変更] をクリック
問題の内容
新規の環境にも関わらず/messageに遷移するとFatal errorが発生する
メッセージのページにアクセスすると、OpenPNE3.4.15 では使われていない(OpenPNE3.6beta13 には定義されている)関数を呼び出そうとするため、 Fatal error が発生します。
先日、OpenPNE3.4.15 のリリースを行い、
その際、バンドルプラグインの opMessagePlugin のバージョンアップが
含まれていました。
opMessagePlugin のバンドルプラグインのバージョンは、
0.9.1.1 から 0.9.2 にあがることにより、
OpenPNE3.4では未定義の関数が使われた opMessagePlugin にアップデートされ、
今回の問題が発生します。
携帯電話IPアドレス帯域リストを更新しました
08 / 23 火曜日 2011
OpenPNE開発チームのきわです。
本日 2011/8/23、OpenPNEのIPアドレス帯域リストを更新しました。
2011/4/28 におこなわれた WILLCOM の IPアドレス帯域削除への対応です。
遅い対応となってしまいましたが、OpenPNEの携帯版を利用している方はSNSに反映お願いします。
ダウンロード
https://www.openpne.jp/pne-downloads/mobile_ip_list/
こちらのページから各バージョンのIPアドレス帯域リストをDLできます。
IPアドレス帯域リストの更新方法
OpenPNE3
OpenPNEのパッケージ内にある以下のファイルを、ダウンロードしたIPアドレス帯域リストに置き換えてください。
lib/config/config/mobile_ip_address.yml
OpenPNE2
OpenPNEのパッケージ内にある以下のファイルを、ダウンロードしたIPアドレス帯域リストに置き換えてください。
webapp/lib/ktaiIP.php
au 2001107追加のIPアドレス帯域について
au 2011年秋冬モデル向けのIPアドレス帯域が 2011年7月に追加予定となっていますが、現在リリースを保留にしています。
詳細は以下のMLをご覧ください。
- [openpne-dev:720] 2011年7月に追加される au 2011年秋冬モデル以降で使用される IPアドレス帯域について
- https://groups.google.com/group/openpne-dev/browse_thread/thread/6accc1f7f53fdfc3?hl=ja#
次回の更新
次回の更新は未定です。
OpenPNE 3.6beta13 リリースのお知らせ
08 / 19 金曜日 2011
OpenPNE 開発チームの坂田です。
本日、開発版 OpenPNE 3.6beta13 をリリースしました。
今回の修正には opAuthMobileUIDPlugin 更新が含まれています。
opAuthMobileUIDPlugin 更新についての詳細は下記リンクを御覧ください。
opAuthMobileUIDPluginリリースの詳細
次回のリリースは 2011年9月22日(木)を予定しています。
安定版 OpenPNE 3.4.15 リリースのお知らせ
08 / 11 木曜日 2011
OpenPNE 開発チームの坂田です。
本日、安定版 OpenPNE 3.4.15 をリリースしました。
次回のリリースは 2011年9月8日(木) を予定しています。
バージョンアップ・インストール
ダウンロード
OpenPNE 3.4.15(zipアーカイブ) は以下のボタンからダウンロードできます。
- zip版ダウンロード
パッケージの詳細は、こちらになります。
OpenPNE 3.4.15
インストール
OpenPNE 3.4.15 のインストールは、OpenPNE3.4 セットアップ手順 を確認ください。
3.2.x から 3.4 へのアップグレード、3.4 の以前のバージョンからのマイナーバージョンアップを行う場合は、このドキュメントを参考ください。