ブログ

【緊急告知】すべてのバージョンの OpenPNE 3 における、サーバ上ファイル漏洩の脆弱性についての注意喚起 (2012/12/03)

『OpenPNE 技術サポート』では、OpenPNE プロジェクトでの緊急リリース当日にご契約の皆様へお知らせのメールを送信しております。

2012年12月3日に行われた『すべてのバージョンの OpenPNE 3 における、サーバ上ファイル漏洩の脆弱性についての注意喚起』の内容を公開いたします。

以下、メール本文です。

※ 本メールは OpenPNE 技術サポートサービス にご契約いただいた全てのお客様向けに配信しております。

お客様各位

平素より、『OpenPNE 技術サポート』をご利用いただきありがとうございます。
本日(2012/12/03)、OpenPNE プロジェクトにて脆弱性に関する緊急告知をおこないましたので、
お知らせいたします。

【緊急告知】すべてのバージョンの OpenPNE 3 における、
サーバ上ファイル漏洩の脆弱性についての注意喚起。

すべてのバージョンの OpenPNE 3 にはサーバ上ファイルの漏洩に繋がる脆弱性が存在します。
この脆弱性は OpenPNE 3 が使用している Web アプリケーションフレームワークの symfony において発覚した、
以下の脆弱性 (CVE-2012-5574) に由来するものです。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
Security release: symfony 1.4.20 released – Symfony
 http://symfony.com/blog/security-release-symfony-1-4-20-released
Secunia Advisory SA51372 : Symfony Arbitrary File Disclosure Vulnerability
 http://secunia.com/advisories/51372/
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

本脆弱性は、 OpenPNE 3 およびバンドルプラグインのソースコードに変更を加えずに運営している場合においては、
影響が極めて限定的なものとなるため、緊急の対策版リリースは実施しません 
(脆弱性への修正は通常リリースにておこなう予定です)。

しかしながら、サイトの運用状況や、ソースコードの変更内容によっては、
本脆弱性により無視のできない影響を受けることがあります。 
OpenPNE 3 によるサイトを運営する方は、本メールの内容を確認し、
脆弱性によって発生するリスクを受容できないと判断できる場合は、早急な対策をおこなうことを強く推奨します。

【影響を受けるシステム】

画像以外のファイルアップロード機能を、 OpenPNE 3 のソースコードを改変するか、
もしくはプラグインを導入することによって追加しているサイト
 (以下、「影響を受けるシステム A」と呼称します) は、本脆弱性によって甚大な影響を受ける可能性があります。

また、以下の OpenPNE を使用しているサイト (以下、「影響を受けるシステム B」と呼称します) は、
本脆弱性による限定的な影響を受ける可能性があります。

OpenPNE 3.8.3 以下、 OpenPNE 3.6.6 以下、 OpenPNE 3.4.21 以下、
OpenPNE 3.2.7.6 以下、 OpenPNE 3.0.8.5 以下のすべてのバージョン「影響を受けるシステム B」において、
画像のファイルアップロード機能を有するプラグインを使用している場合、その機能も同様に限定的な影響を受けます。
バンドルプラグインのなかで該当するものは以下の通りです。
ーーーーーーーーーーーーーー
opAlbumPlugin
opCommunityTopicPlugin
opDiaryPlugin
opMessagePlugin
ーーーーーーーーーーーーーー

【脆弱性の説明】

symfony にて提供されているフォームフレームワークには、ファイルの送信をおこなう際のリクエストの検証に不備があり、
特定の形式のパラメータを含むことで、 Web アプリケーションが設置されているサーバ上のファイル
をアップロードすることができてしまうという問題があります。

この実装上の問題を悪用し、 Web サーバの権限で読み込み可能な任意のファイルをWebサーバの公開領域に
アップロードさせることで、攻撃者はそのファイルの内容 (データベースの接続情報など) を取得することができます。

OpenPNEでは、このフォームフレームワークを使用してフォームの構築や入力値の検証をおこなっています。
したがって、ファイルのアップロードを受け付けるほとんどすべての場面において本脆弱性の影響を受けることになります。

【想定される影響】

*「影響を受けるシステム A」においては、本脆弱性によって、 Web サーバの権限によって読み取り可能なサーバ上の
すべてのファイルの情報 (データベースの接続情報なども含まれます) を悪意のある攻撃者によって不正に取得される危険性があります
*「影響を受けるシステム B」においては、本脆弱性によって、 Web サーバの権限によって読み取り可能なサーバ上の
すべての画像ファイルの情報を悪意のある攻撃者によって不正に取得される危険性があります

このうち、「影響を受けるシステム A」に関する影響は甚大であると考えられます。

一方で、「影響を受けるシステム B」については、影響はほとんど限定的です。 
OpenPNE自身に同梱された画像ファイルは既に世間一般に公開されているものです。
また、画像ファイルアップロード機能によりアップロードされた画像自体には公開範囲の制限がありません。
そのため、この脆弱性を利用することで攻撃者が新たに取得可能になる情報はないと考えられます。
ただし、運用上の都合等によって サーバ上に秘密の画像を設置しているようなケースでは、本脆弱性によりその画像を取得される危険があります。

【対策方法】

以下のいずれかの対応をおこなうことで、本脆弱性の影響を防ぐことができます。

1. symfony の配布するパッチを適用する
2. ファイルアップロードが可能な機能に対するアクセスを、 Web サーバの設定等によって制限する

ただし、「2. ファイルアップロードが可能な機能に対するアクセスを、Web サーバの設定等によって制限する」については、
お使いのプラグイン等によって設定方法が異なるため、ここでは、「1. symfony の配布するパッチを適用する」の
対応についてのみ説明いたします。

<パッチの適用方法>

1、http://trac.symfony-project.org/changeset/33598?format=diff&new=33598 から入手できる対策パッチを、
 OpenPNE を設置しているディレクトリにアップロードします
2、SSH でログインし、 1. のディレクトリに移動します
3、以下のコマンドを実行します
 ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
 $ patch -d ./lib/vendor/symfony -p3 < パッチファイル名
 ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

=適用方法以上=

今回の緊急リリースの内容詳細、および対策方法の詳細については
以下OpenPNE公式ページの告知記事を参照ください。
 http://www.openpne.jp/archives/10705/

何かご不明な点などございましたらご連絡ください。
今後ともよろしくお願いいたします。

本ブログでは、今後もお知らせメールの内容を公開する予定です。