Confluence セキュリティ勧告 - 2010-05-04
このアドバイザリでは、Confluence の以前のバージョンで発見されたセキュリティの脆弱性のうち、Confluence 3.2.1 で修正が行われた脆弱性を報告します。Confluence 3.2.1 のリリースに加えて、言及された最も重要な脆弱性に対するパッチも提供しています。これらのパッチは、Confluence の旧バージョンにも適用できます。ただし、Confluence 3.2.1 では、パッチ適用やバックポートを行うことができない、数多くのセキュリティ改善が行われます。パッチの適用ではなく、Confluence 3.2.1 へのアップグレードをお勧めします。
In this advisory:
XSS Vulnerabilities
深刻度
Atlassian rates these vulnerabilities as high, according to the scale published in Severity Levels for Security Issues. The scale allows us to rank a vulnerability as critical, high, moderate or low.
Risk Assessment
公共の環境内の Confluence インスタンスに影響する可能性のあるセキュリティ上の数多くの脆弱性を、特定して修正しました。これらの欠陥は、以下の表で説明する Confluence 機能で公開される Cross-site Scripting (XSS) の脆弱性です。
- 攻撃者は、この脆弱性を利用して他のユーザーのセッション クッキーやその他の資格情報を盗み、その資格情報を攻撃者自身の Web サーバーに送り返す可能性があります。
- 攻撃者のテキストとスクリプトが、Confluence ページを表示している他のユーザーに表示される可能性があります。これにより、貴社の評判が損なわれる可能性があります。
You can read more about XSS attacks at cgisecurity, CERT and other places on the web.
Vulnerability
以下の表で説明する Confluence 機能の脆弱性を特定し、修正しました。
Confluence Feature | 影響する Confluence バージョン | 可用性を修正 | 詳細情報 | 深刻度 |
---|---|---|---|---|
インデックス ブラウザー JSP (JavaServer Pages) | 2.7.0 ~ 3.2.0 | 3.2.1 と パッチ | 高 | |
特定のスペースの添付ファイルが格納されているファイル システム上の場所を管理者に提供する JSP | 2.8.3 ~ 3.2.0 | 3.2.1 と パッチ | 高 | |
null メール アドレスの dummyvalue@nowhere.org へのリセットを許可して管理する JSP | 2.8.3 ~ 3.2.0 | 3.2.1 と パッチ | 高 | |
配色設定 | 3.1.2 ~ 3.2.0 | 3.2.1 と パッチ | 高 | |
エラー メッセージ | 2.7.0 ~ 3.2.0 | 3.2.1 と パッチ | 高 | |
Confluence の検索 | 2.7.4 ~ 3.2.0 | 3.2.1 と パッチ | 高 | |
添付ファイルのアップロード | 3.0.2 ~ 3.2.0 | 3.2.1 と パッチ | 高 | |
コンテンツ レンダリング | 3.0.0 ~ 3.2.0 | 3.2.1 と パッチ | 高 | |
高度なマクロ プラグイン | 3.1.0 ~ 3.2.0 | 3.2.1 とプラグインのアップグレード | 高 | |
Social Bookmarking プラグイン | 3.0.0 ~ 3.2.0 | 3.2.1 とプラグインのアップグレード | 高 |
Risk Mitigation
これらの脆弱性を解決するため、Confluence インストールをパッチ適用またはアップグレードすることをお勧めします。以下の「修正」セクションをご参照ください。
あるいは、すぐにアップグレードまたはパッチ適用する立場になく、必要だと判断した場合は、必要なアップグレードまたはパッチを適用するまで、Wiki へのパブリック アクセス (匿名アクセスやパブリック サインアップなど) を無効化できます。さらに厳格に制御するためには、信頼されたグループへのアクセスを制限できます。
修正
Confluence 3.2.1 ではこれらのすべての問題が修正されています。リリース ノートを参照してください。Confluence 3.2.1 は、ダウンロード センターからダウンロードできます。
Confluence 3.2.1 にアップグレードできない場合は、以下に示すパッチとプラグインのアップグレードを使用して、既存のインストールにパッチを適用できます。ただし、パッチよりも 3.2.1 にアップグレードする方がさらにセキュリティ機能が強化されるため、アップグレードすることを強くお勧めします。
Confluence で変更された動作
以前、Confluence インデックス ブラウザーへのアクセスを提供していた indexbrowser.jsp
ページおよび viewdocument.jsp
ページが削除されました。その代わりに、Confluence サイトのインデックス化されたページの詳細を参照する必要がある場合は、Luke をダウンロードして実行できます。Luke は、既存の Lucene インデックスにアクセスする開発および診断ツールで、複数の方法でコンテンツを表示したり、変更したりできます。コンテンツ インデックスの管理に関するドキュメントを参照してください。
上記の脆弱性を報告してくださった The Apache Software Foundation の Brett Porter と Research in Motion の David Belcher に感謝いたします。当社では脆弱性の報告を完全にサポートしており、問題の特定と解決に対する皆様の協力に感謝しています。
データベース確認ユーティリティ (Confluence に含まれません) の XSS 脆弱性
深刻度
アトラシアンは、この脆弱性を高度と評価しています。これは Confluence セキュリティで公開されている尺度に従って決定されます。
Risk Assessment
一部のお客様がインストールする可能性のあるアトラシアン データベース チェック ユーティリティで、Cross-site Scripting (XSS) の脆弱性を特定して修正しました。このユーティリティは JSP ファイルで、ドキュメント ページの添付ファイルとして提供されます。
このユーティリティは Confluence にバンドルされていないことに注意してください。この脆弱性は、JSP をダウンロードしてインストールした場合にのみ適用されます。
Vulnerability
攻撃者は、データベース チェック ユーティリティを呼び出すときに、独自の JavaScript を注入できます。不正な JavaScript は、ユーザーが URL を呼び出すときに実行されます。詳細については、CONF-19406 を参照してください。
Risk Mitigation
以前、ドキュメンテーション ページから testdatabase.jsp
をダウンロードしてインストールした場合は、ここで testdatabase.jsp
ファイルを <confluence-install>\confluence
ディレクトリから削除する必要があります。
ユーティリティを再利用する必要がある場合は、同じドキュメント ページから更新バージョンをダウンロードできます。
修正
以前、ドキュメンテーション ページから testdatabase.jsp
をダウンロードしてインストールした場合は、ここで testdatabase.jsp
ファイルを <confluence-install>\confluence
ディレクトリから削除する必要があります。
ユーティリティを再利用する必要がある場合は、同じドキュメント ページから更新バージョンをダウンロードできます。
この修正は Confluence 3.2.1 の一部ではありません。
JSP ファイルは Confluence インストールに含まれていないため、この脆弱性に対するパッチはなく、Confluence 3.2.1 での修正もありません。インストールをご確認の上、JSP が存在する場合は削除または更新してください。
情報の不必要な公開とアクセス
深刻度
アトラシアンは、この脆弱性を高度および中度と評価しています。これは Confluence セキュリティで公開されている尺度に従って決定されます。
Risk Assessment
Confluence が不要な量の情報を公開して、攻撃者がその情報にアクセスした場合にその情報が攻撃者にとって有用になる可能性がある多くの領域を特定しました。
Vulnerability
いくつかの領域において、Confluence が不必要な量の情報を公開していることが判明しました。これにはユーザー名やパスワードなどの機密情報も含まれています。攻撃者がこうした情報にアクセスすると、攻撃者が使用を許可されていない Confluence の管理領域と機能へのアクセスを許可する可能性があります。各脆弱性の詳細を以下の表に示します。
詳細については、以下の表にも示されている関連する jira 課題をご参照ください。
Confluence アクション | 影響する Confluence バージョン | 可用性を修正 | 詳細情報 | 深刻度 |
---|---|---|---|---|
サポート リクエスト フォーム | 3.1.0 ~ 3.2.0 | 3.2.1 | Confluence サポート リクエスト フォームがシステム情報とログ ファイルを含む zip ファイルを自動で生成して、サポート リクエストと併せて指定のメール アドレスにファイルを送信します。zip ファイルには、ユーザー名、パスワード、ライセンスの詳細を含む設定ファイルが含まれています。CONF-19391 をご確認ください。 | 高 |
サポート リクエスト フォーム | 2.7.0 ~ 3.2.0 | 3.2.1 | Confluence サポート リクエスト フォームには「CC」メール アドレスが用意されているため、サポート リクエストとすべての添付情報を任意のメール アドレスに送信できます。さらに、Confluence 管理コンソールから、既定のメール アドレスを任意のメール アドレスにも設定できます。「CONF-19392」をご参照ください。 | 高 |
XML サイト バックアップ | 2.7.0 ~ 3.2.0 | 3.2.1 | Confluence サイトの XML バックアップを Confluence 管理コンソールからダウンロードできます。CONF-19393 をご覧ください。 | 高 |
日次サイト バックアップ | 2.7.0 ~ 3.2.0 | 3.2.1 | 毎日のサイト バックアップに対するパスは、Confluence 管理コンソールを介して設定できます。Web UI を介して毎日のバックアップ パスと (部分的な) 名前を設定できます。これによって、攻撃者はアプリケーション サーバーによって提供される場所にバックアップを配置できます。「CONF-19397」をご確認ください。 | 中程度 |
SOAP API と XML-RPC API | 2.7.0 ~ 3.2.0 | 3.2.1 | SOAP API と XML-RPC API は、不正なログインに関するエラーを返す際に提供する情報が多すぎます。「CONF-19398」をご参照ください。 | 高 |
Confluence 管理者に関する情報 | 2.7.0 ~ 3.2.0 | 3.2.1 | Confluence 管理者のリストには、URL を介してアクセスでき、すべての管理者のユーザー名、フル ネーム、メール アドレスが表示されます。CONF-19395 をご覧ください。 | 中程度 |
Risk Mitigation
これらの脆弱性を解決するために、Confluence インストールをアップグレードすることをお勧めします。以下の「修正」セクションをご参照ください。
または、すぐにアップグレードまたはパッチを適用する立場にない場合は、次の対策を適用することを検討してください。
- Confluence セキュリティを設定するためのベスト プラクティスに関するドキュメントで説明されているように、管理者アカウントへのアクセスを制御します。
- 不要な SOAP API と XML-RPC API へのアクセスを無効にします。(リモート API アクセスはデフォルトで無効になっています。)リモート API の有効化に関するこのページを参照してください。
- 関連するベロシティ テンプレート ファイルを次のように編集して、URL 経由でアクセスできる Confluence 管理者のリストを手動で削除します。
administrators.vm
ファイルを編集します。このファイルは、スタンドアロン インストールの場合は {confluence-install}/confluence
にあり、WAR インストールの場合は Web アプリのルートにあります。このコンテンツを、誰かがこの URL にアクセスするたびに表示されるメッセージに置き換えます。以下に例を示します。
<html> <head> <title>$action.getText("title.administrators")</title> </head> <body> The list of Confluence administrators is no longer available. If you would like to contact an administrator, please email admins at example dot com. </body> </html>
- ファイルを保存します (Confluence を再起動する必要はありません)。
修正
Confluence 3.2.1 ではこれらの問題が修正されています。リリース ノートを参照してください。Confluence 3.2.1 は、ダウンロード センターからダウンロードできます。
Confluence で変更された動作
これらの問題を解決するために、Confluence の動作を次のように変更しました。
- Confluence サポート リクエスト フォームで生成される zip ファイルから、ライセンス、ユーザー名、パスワードの情報をすべて削除しました。
- Confluence サポート リクエスト フォームで「CC」メール アドレスを指定できなくなりました。
- 初期設定では、Confluence 管理コンソールの「一般設定」セクションでサイト サポート メール アドレスを指定できなくなりました。管理者は Confluence ホームやその他の重要なディレクトリにある
confluence.cfg.xml
ファイルを更新することで、この機能を復元できます。Confluence は、この構成ファイルで、admin.ui.allow.site.support.email
という新しいプロパティを認識するようになりました。プロパティの値が 'true' の場合は、Confluence 管理コンソールを介してサイト サポート メール アドレスを指定できます。このプロパティの値が 'false'、またはプロパティがファイルに存在しない場合は、メール アドレスは設定できません。初期設定では、Confluence 3.2.1 以降における値は 'false' です。 - デフォルトでは、日次サイト バックアップへのパスは、Confluence 管理コンソールを介して設定できなくなりました。Confluence は、
confluence.cfg.xml
ファイル内のadmin.ui.allow.daily.backup.custom.location
と呼ばれる新しいプロパティを認識するようになりました。このプロパティの値が 'true' の場合、管理者は日次バックアップ パスを変更できます。このプロパティの値が 'false' の場合、またはプロパティがファイルに存在しない場合、バックアップ パスは設定できません。デフォルトでは Confluence 3.2.1 以降における値は false です。 - 初期設定では、Confluence サイトの XML バックアップを Confluence 管理コンソールからダウンロードできなくなりました。代わりに、XML サイトのバックアップ ファイルを取得するには、Confluence Server マシンにアクセスする必要があります。Confluence は、
confluence.cfg.xml
ファイル内のadmin.ui.allow.manual.backup.download
と呼ばれる新しいプロパティを認識するようになりました。このプロパティの値が true の場合、管理コンソールには XML サイトのバックアップ ファイルをダウンロードするオプションが表示されます。このプロパティの値が false、またはプロパティがファイル内に存在しない場合は、管理コンソールから XML をダウンロードできません。初期設定では、Confluence 3.2.1 以降における値は false です。 - 無効なログイン試行時に、SOAP API と XML-RPC API が「ユーザーが存在しません」、または「パスワードが無効です」という特定の情報を提供しなくなりました。
administrators.action
URL では、Confluence 管理者のリストを表示するページが開かれなくなりました。代わりに、この URL ではサイトのすべての管理者に向けたメール送信に使用できるフォームが表示されます。これは、こうした管理者が誰であるかについての情報をユーザーに提供しないため、望ましい方法です。管理者連絡先ページの設定に関するドキュメントを参照してください。
Confluence セキュリティ モデルの一般的な強化
深刻度
アトラシアンは、この脆弱性を高度および中度と評価しています。これは Confluence セキュリティで公開されている尺度に従って決定されます。
Risk Assessment
Confluence の次の領域のセキュリティが改善されました。
- 繰り返しのログイン試行の最大回数を課すことによるブルート フォース攻撃の防止。
- デコレーター レイアウトの処理。
Vulnerability
Confluence が繰り返しのログイン試行を無制限に許可することにより、Confluence をブルート フォース攻撃にさらす可能性がある問題を特定し、修正しました。また、デコレーター レイアウトの処理に関するセキュリティも向上しました。各改善の詳細を以下の表に示します。
詳細については、以下の表にも示されている関連する jira 課題をご参照ください。
Confluence アクション | 影響する Confluence バージョン | 可用性を修正 | 詳細情報 | 深刻度 |
---|---|---|---|---|
サイトとスペース デコレーターのレイアウト | 3.2.0 を含むすべてのバージョン。 | 3.2.1 と パッチ | サイトおよびスペース レイアウト テンプレートで公開される BootstrapManager は読み取り専用にする必要があります。CONF-19401 をご覧ください。 | 高 |
ログイン | 3.2.0 を含むすべてのバージョン。 | 3.2.1 | Confluence では、連続したログイン試行の回数上限を設定していません。そのため、Confluence はブルート フォース攻撃に対して脆弱です。CONF-19396 をご確認ください。 | 中程度 |
Risk Mitigation
これらの脆弱性を解決するために、Confluence インストールをアップグレードすることをお勧めします。以下の「修正」セクションをご参照ください。
または、すぐにアップグレードする立場にない場合は、以下に示すパッチを使用して、既存のインストールにパッチを適用できます。このパッチは、デコレーター レイアウトの問題を修正します。
Fail2Ban を使用したログイン試行の制限に関するガイドラインに従って、ブルート フォース攻撃を防ぐことができます。
修正
Confluence 3.2.1 ではこれらの問題が修正されています。リリース ノートを参照してください。Confluence 3.2.1 は、ダウンロード センターからダウンロードできます。
または、すぐにアップグレードする立場にない場合は、以下に示すパッチを使用して、既存のインストールにパッチを適用できます。このパッチは、デコレーター レイアウトの問題を修正します。
Confluence で変更された動作
これらの問題を解決するために、Confluence の動作を次のように変更しました。
- Confluence がデコレーター レイアウトを処理する方法のセキュリティが改善されました。BootstrapManager は読み取り専用になりました。
- ログイン試行に 3 回失敗した後で再度ログインしようとすると、指定した単語を入力するように求める Captcha フォームが表示されます。これによって、ログイン画面を介したブルート フォース攻撃を防げます。また、XML-RPC または SOAP API を使用したログイン試行が 3 回失敗した後も、Web インターフェイス経由でログインするようにユーザーに指示するエラーメッセージが返されます。ユーザーがこのログイン方法を試みると、Captcha が自動で有効になります。
利用可能なパッチとプラグインのアップグレード
何らかの理由で Confluence 3.2.1 にアップグレードできない場合は、次のパッチとプラグインのアップグレードを適用して、このセキュリティ アドバイザリで説明されている最も差し迫った脆弱性を修正できます。
パッチ手順のステップ 1: パッチをインストールする
パッチは Confluence 3.2.0、3.1.2、3.0.2、2.10.42.9.3、2.8.3 で利用できます。パッチを適用する前に、関連するメジャー バージョンの指定されたバグ修正リリースにアップグレードする必要があります。たとえば、バージョンが Confluence 3.0.0 である場合は、最初に 3.0.2 にアップグレードしてから関連するパッチを適用します。
利用可能なパッチは、次のような問題に対処します。
- 検索の XSS (CONF-19382)。
- 添付ファイル アップロードの XSS (CONF-19388)
- インデックス ブラウザー JSP の XSS (CONF-19404)。
- JSP の XSS。特定のスペースの添付ファイルが格納されているファイル システム上の場所を管理者に提供します (CONF-19404)。
- JSP の XSS。管理者が null メール アドレスをリセットできるようにします (CONF-19404)。
- カラー スキーム設定の XSS (CONF-19384)。
- エラーメッセージ内の XSS (CONF-19390 と CONF-19402)。
- コンテンツ レンダリングの XSS (CONF-19441)。
- サイトおよびスペース デコレーター レイアウトの安全な処理 (CONF-19401)
各パッチは上記のすべての問題に対応して、Confluence の特定のバージョンに適用できます。パッチをインストールするには、適切なバージョンをダウンロードして以下の手順に従います。
Confluence バージョン | ファイル |
---|---|
3.2.0 | |
3.1.2 | |
3.0.2 | |
2.10.4 | |
2.9.3 | |
2.8.3 |
Applying the patch
Confluence のスタンドアロン ディストリビューションを使用している場合:
- Make a backup of the
<confluence_install_dir>/confluence/
directory. - ご利用の Confluence バージョンについて、上記の表に示されている場所から
confluence-x-patch.zip
ファイルをダウンロードします。 - zip ファイルを
<confluence_install_dir>/confluence/
に展開し、その場所にある既存のファイルを上書きします。 - Confluence を再起動します。
Confluence の WAR ディストリビューションを使用している場合は、次の手順に従います。
- Make a backup of the
<confluence_exploded_war>/confluence/ directory
. - ご利用の Confluence バージョンについて、上記の表に示されている場所から
confluence-x-patch.zip
ファイルをダウンロードします。 - zip ファイルを
<confluence_exploded_war>/confluence/
に展開し、その場所にある既存のファイルを上書きします。 - UNIX では「
build.sh clean
」、Windows では「build.bat clean
」を実行します。 - UNIX では
build.sh
、Windows ではbuild.bat
を実行します。 - Confluence Web アプリをアプリケーション サーバーに再デプロイします。
パッチ適用のステップ 2: プラグインをアップグレードする
上記の脆弱性のうち 2 つはプラグインに存在するため、パッチには含まれません。これらの脆弱性を修正するには、影響を受けるプラグインをアップグレードして修正バージョンを取得する必要があります。Confluence プラグイン リポジトリを介して、通常の方法でプラグインをアップグレードできます。プラグインのインストールの詳細については、ドキュメントを参照してください。
- Confluence 3.1.0 以上を実行している場合は、Confluence の高度なマクロ プラグインの最新バージョンをインストールする必要があります。Confluence の以前のバージョンは影響を受けないため、アップグレードされたプラグインは不要です。
- Confluence 3.0.0 以降を実行している場合、Social Bookmarking プラグインの最新バージョンをインストールする必要があります。Confluence の以前のバージョンは影響を受けないため、アップグレードされたプラグインは必要ありません。
パッチ手順のステップ 3: 以前にインストールされたデータベース チェック ユーティリティがある場合は削除する
以前にドキュメンテーション ページから testdatabase.jsp
ユーティリティをダウンロードしてインストールした場合は、ここで testdatabase.jsp
ファイルを <confluence-install>\confluence
ディレクトリから削除する必要があります。このユーティリティの詳細については、上記を参照してください。