【緊急リリース】すべてのバージョンの OpenPNE に存在する、クライアント側キャッシュを経由した非公開情報漏洩の問題への対応のお知らせ (OPSA-2011-004) [OpenPNE]
OpenPNE 2 および OpenPNE 3 には、認証後のページをクライアントに送出する際に、キャッシュ制御に関する指示をおこなっていなかったため、ユーザの利用する環境によっては、非公開情報を含むページの情報がキャッシュ経由で他人に表示されてしまう問題が存在します。
昨日、OpenPNEの問題についてリリースが発表されました。キャッシュ制御で問題があるようで、本来見れないはずの情報が見れる可能性があるとのことです。具体的にどのように、漏れてしまうのかわかりませんが重要度としてはかなり大きい問題だと思いますので、利用されている皆様は早めの対応をお勧めします。
ちなみに、うちで利用しているのはOpenPNE2ばかりなので、対応は、
config.php で、以下の設定値を false から true に変更してください。
// ページのキャッシュをさせないヘッダを送信するかどうか
// ただしau端末の場合はこの設定にかかわらず、常に「ページのキャッシュをさせないヘッダ」が送信されます
define('OPENPNE_SEND_NO_CACHE_HEADER', false);
と、ソッコー対応完了できるのですでに対応済みです。ちなみに、
ただし、この設定項目は OpenPNE 2.8 以下のバージョンには存在しません。 OpenPNE 2.8 以下のバージョンをお使いの方は、前述の各種回避方法を参考に、この問題を回避するようにしてください。
らしいです、2.8って結構古いバージョンですが使われている方も少なからずいると思いますので、ご注意ください。
で、この対策をするとどうなるか興味深いところですが、このパラメータは
// ページのキャッシュをさせないヘッダを送信するかどうか
なので、パフォーマンス低下の可能性がありますね。クライアント側でキャッシングしないので、クライアント側ももちろんですがサーバ側に全アクセスがキャッシングを見ずにアクセスされてしまうということでしょうね。
OpenPNE2はパラメータ変更だけなので、OpenPNE3のpatchを見ている限り全アクセスで適用されているのかな? だとしたら、高負荷なサーバだと影響が大きくなるのかもしれませんね。
そもそもの問題について、コンテンツのローカルキャッシュ時にそれを本人以外が表示してしまう可能性がある、専用パソコンでは問題にはなりませんよね。共用で使ってるパソコンとか、一番の問題はプロクシ利用時の問題が大きそうですね。会社などでプロクシサーバを経由していると、今回のキャッシングの問題で観れないはずのコンテンツを閲覧できる可能性があるということなんだろうね。
まー、とりあえず対応したのでよしとしておくか、、、や、結構大問題な気もするけど、検証とかできないだろうしなぁ。