-オープンソースのSNSエンジン OpenPNEプロジェクト-

最新ブログ

Home

opAshiatoPlugin 1.1.0 リリースのお知らせ

09 / 21 水曜日 2011

OpenPNE開発チームの渡辺です。

本日2011/09/21(水)、opAshiatoPlugin 1.1.0 をリリースしました。

opAshiatoPlugin 1.1.0はopAshiatoPlugin 0.9.1.2からのバージョンアップとなり、OpenPNEの対象バージョンはOpenPNE3.6.xです。OpenPNE3.4.xをお使いの方はopAshiatoPlugin 0.9.0.1をお使いください。

続きを読む

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 版ダウンロード] [修正パッチ]

マイナーバージョンアップ手順

パッケージに同梱されているバージョンアップ手順書に記載されている通りに作業を実施してください。

各バージョンのマイナーバージョンアップ手順書は以下からも確認することができます。

パッチ適用手順

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]) を用意しています。

http://redmine.openpne.jp/projects/op3/wiki/How_To_Report_Issue_%28ja%29#%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E4%B8%8A%E3%81%AE%E5%95%8F%E9%A1%8C%E3%82%92%E5%A0%B1%E5%91%8A%E3%81%99%E3%82%8B

もしセキュリティ上の問題を発見した場合は、通常の公開されたバグ報告の手順を踏むのではなく、 [email protected] に連絡してください[email protected] はクローズドなメーリングリストであり、このメーリングリストでおこなわれた脆弱性の詳細情報などのやり取りがそのまま公開されることはありません。

opAlbumPlugin 1.0.0.1 リリースのお知らせ

09 / 04 日曜日 2011

OpenPNE OpenSocialPlugin Team (OpenPNE OSPT) の川原です。
本日 2011年9月4日 (日) に opAlbumPlugin 1.0.0.1 をリリースしましたのでお知らせします。

概要

opAlbumPlugin の安定バージョンをリリースしました!

前バージョンである、0.9.5.1-beta から

4件のバグ修正に加え、テストの追加・品質向上を行いました。

テスト追加

  • モデル向けUnitTest追加
  • モバイル向けFunctinalTest(脆弱性検知)追加

インストール・アップデート

必要な OpenPNE3 のバージョンは 3.4 以降です。
実際に利用する場合は検証をよく行って下さい。
また、バージョンアップ前にデータベースのバックアップを行うことを強く推奨します。

方法

OpenPNE3 のディレクトリで、以下のコマンドを実行します。

$ php symfony opPlugin:install opAlbumPlugin -r 1.0.0.1
$ php symfony openpne:migrate
$ php symfony cc

開発について

Public Repository

Public Repository は、以下に変更しました。

https://github.com/openpne-ospt/opAlbumPlugin

Fork, Pull Request は大歓迎です。

開発の進行

opOpenSocialPlugin と同様に、
以下の ML で、開発に関する告知等を行っています。

http://groups.google.com/group/op-opensocialplugin-dev?hl=ja

次回のリリース予定

次回より、開発版リリースと、安定版リリースに分かれます。
開発版リリースは、OpenPNE3.6.x〜(仮) 向けとし、機能追加を積極的に行います。
バージョンは 1.1.x-beta となります。

安定板は、バグ修正を中心とし、サポートは OpenPNE3.6.x サポート終了までとなります。
バージョンは 1.0.x となります。

【緊急リリース】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 を利用している場合、以下のコマンドを実行してください。

$ ./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 内のすべてのページを非ログイン状態では見られないようになります。

設定は以下の手順でおこなってください。

  1. 管理画面の「プラグイン設定」から opDiaryPlugin の「設定」をクリックし、日記プラグイン設定画面を開く
  2. 「Web全体に公開機能使用設定」で「使用しない」を選択し、フォーム下部の「確定」ボタンをクリックする

セキュリティ上の問題の報告手順について

OpenPNE プロジェクトでは、以下に案内している通り、セキュリティ上の問題の報告を受け付ける窓口 ([email protected]) を用意しています。

http://redmine.openpne.jp/projects/op3/wiki/How_To_Report_Issue_%28ja%29#%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E4%B8%8A%E3%81%AE%E5%95%8F%E9%A1%8C%E3%82%92%E5%A0%B1%E5%91%8A%E3%81%99%E3%82%8B

もしセキュリティ上の問題を発見した場合は、通常の公開されたバグ報告の手順を踏むのではなく、 [email protected] に連絡してください[email protected] はクローズドなメーリングリストであり、このメーリングリストでおこなわれた脆弱性の詳細情報などのやり取りがそのまま公開されることはありません。

OpenPNE 3.4.15 バンドルプラグイン更新のお知らせ

08 / 30 火曜日 2011

OpenPNE 開発チームの卜部です。

これまで、OpenPNE3.4.x 系のバンドルプラグインの
opAlbumPlugin は 0.9.3.1 となっておりました。

今回、opAlbumPlugin に管理機能が追加された 0.9.4.1 にあげたとしても、
安定性が損なわれるものではないと判断したため、
バンドルプラグインリストを更新しました。

すでに OpenPNE3.4.15 をお使いの場合は、以下のコマンドで opAlbumPlugin を更新することができます

$ php symfony openpne:migrate

新規で OpenPNE3.4.15 をインストールされる場合は、インストールコマンドを実行したタイミングで 0.9.4.1 がインストールされますので、上記のコマンドは不要です。

安定版 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 を無効にしている場合は、設定を有効に戻してください。

修正内容

新規の環境にも関わらず/messageに遷移するとFatal errorが発生する

安定版 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日(木)を予定しています。

続きを読む

ページの先頭に戻る