ColdFusion エラー出力画面のクロスサイトスクリプティング脆弱性 | ScanNetSecurity
2024.04.21(日)

ColdFusion エラー出力画面のクロスサイトスクリプティング脆弱性

──────────────────────────────〔Info〕─
《豪華特典キャンペーン情報》━━━━8月5日〜9月30日まで期間限定━━━
セキュリティ情報誌【Scan Security Management】を購読すると、
「ネットワークセキュリティ・インシデント年鑑2003

製品・サービス・業界動向 業界動向
──────────────────────────────〔Info〕─
《豪華特典キャンペーン情報》━━━━8月5日〜9月30日まで期間限定━━━
セキュリティ情報誌【Scan Security Management】を購読すると、
「ネットワークセキュリティ・インシデント年鑑2003」をプレゼント!!
          ■■■先着10名!お早めに■■■          
◆詳細◆→ https://shop.vagabond.co.jp/cgi-bin/mm/p.cgi?smi01_sdex
───────────────────────────────────


>> 問題の概要

 マクロメディア社のサーバ製品 ColdFusion はエラー発生時にエラーに関する各種情報を表示することができます。表示できる情報には、リファラーのように利用者のクライアントマシンから送信された情報があります。

 攻撃者が意図的にクライアントマシンから送信する情報に攻撃用コード(javascript もしくはHTMLコード)を潜り込ませることにより、クロスサイトスクリプティング攻撃を仕掛けることができます。

 エラー画面中の特定のキーワードをgoogle で検索することで、簡単に多数の脆弱性をもつサイトを検索することができる。この脆弱性をもっているサイトは多数あり、cookie を発行しているサイトも少なくない。


>> 利用者のリスク

 リスクは、ColdFusion サーバを利用している側にではなく、そのサーバにアクセスする利用者に存在する。
 アクセスする利用者は、攻撃者が仕込んだ任意のコードを実行されてしまう可能性がある。

 任意のコードには当該サーバの発行した cookie を盗まれることにより発生するセッションハイジャックやにせのページ(クロスサイトスクリプティングによるページ改竄)を表示されてだまされる可能性なども含まれる。

 セッションハイジャック攻撃は cookie が認証に使用されていた場合、個人情報の漏洩やなりすましによる被害(自分のIDで買い物をされるなど)などが考えられる。
 ページ改竄による被害では、にせのキャンペーン情報などにより個人情報の入力を求められるなどの危険性がある。

 なお、上記のリスクは、「Internet Explorer」のすべてのバージョンおよび「Netscape 4.x」以前のバージョンで発生する。それ以外のブラウザを利用した場合、このリスクは発生しない場合がある。

 マクロメディア社における問題に対する対処は迅速であり、日本と米国の連携(この問題は最初に日本に報告した)もスムーズに行われていたようである。

 問題に対応する管理体制には危険性は少ないと思われる。

 セキュリティリスク:大
 マネジメントリスク:小


>> 影響の範囲

 ColdFusion のエラー出力にはすべてこの問題が含まれている。
 ただし、CFERRORタグなどによってエラーハンドリングを適切に処理し、エラーページにリファラなどのクライアントマシンから送信されている内容を含まない場合はこの問題は発生しない。


>> 脆弱な個所

 ColdFusion では、エラー発生時にエラー画面を表示する。

 #error.HTTPReferer# といったクライアントマシンから送信される内容をそのまま表示することも可能となっている。表示する内容に攻撃用コードが含まれていた場合、クロスサイトスクリプティング攻撃ができる。

 例えば、#error.HTTPReferer# の場合、リファラに攻撃用スクリプトを埋め込まれていた場合、エラー画面が表示された際にそのスクリプトが実行されてしまう。
 同様の問題は、#error.QueryString# などのコマンドにも存在する。

 これは、画面表示内容が適切にサニタイジングされていないことから生じる脆弱性である。


>> 想定される悪用方法

 ColdFusion を利用している商用サイトA ( www.CFtestA.com ) の利用者の cookie を盗む方法を例示する。

 攻撃者は、商用サイトAへのリンクをもつページB ( www.atack_testA.com/cf.html ) を作成する。

 次に、別のページにプレゼント募集など犠牲者を誘導しやすい誘い文句を考えた上でページBへのリンクをつける。このリンクの中に、攻撃用のコードを埋め込むとそのコードはそのままリファラ情報として残り、犠牲者がページBにあるサイトAへのリンクをクリックした際に実行される。

例: http://www.atack_testA.com/cf.html?<;script>alert(document.cookie)</script>

 サイトAが cookie を発行していた場合、この方法で盗むことができる。

 なお、cf.html は、?以下のパラメータを受け取る機構(CGIなど)をもつ必要はない。?以下のコードは、無視されて cf.html が表示されるだけである。ただし、リファラには?以降もそのまま残るため攻撃が可能となる。

 同様の方法で埋め込むコードを変更することにより、任意のコードを実行させることが可能となる。


>> 対処方法

 マクロメディア社では、この問題に対応したパッチを配布している。下記URLでパッチを入手することができる。

マクロメディア社
http://www.macromedia.com/devnet/security/security_zone/mpsb03-06.html

 また、パッチ適用の有無にかかわらずクライアントマシンから送信される内容をそのまま表示するようなエラーページを使うべきではないと考えられる。デバッグ時点では必要かも知れないが、実稼動環境では危険といえる。

 マクロメディア社では「CFERRORタグを用い、エラーハンドリングを実装し、ColdFusionのエラーページをそのまま使用することを極力避ける」ことを推奨している。


>> 当該ベンダへの連絡と対処状況

・連絡経緯(日時はいずれも日本時間)

 2003年8月18日 匿名の発見者より最初の連絡が編集部に届く。編集部で検
 証を開始する。

 2003年8月19日 マクロメディア(日本)社に編集部より連絡を行う。

 2003年8月19日 マクロメディア(日本)社より、調査を行う旨の連絡をも
 らう。

 2003年8月20日 マクロメディア(日本)社より、現象を再現するための詳
 細な内容(サンプルプログラムなど)が欲しいとの連絡を受ける。
 当日、編集部より現象を再現するための特別なプログラムは必要ないことを
 連絡。(この連絡はメールサーバの不具合により届かなかった模様)

 2003年8月21日 編集部より20日に送ったメールを再送。

 2003年8月22日 編集部から20日、21日に送付した内容をもとに、US本社の
 担当者と日本側の担当者とコンタクトを取って検証対応を開始している旨の
 連絡をもらう。

 2003年8月28日 マクロメディア(日本)社より、今後のスケジュールが連
 絡される。同時に、US本社の技術者との連絡を依頼される。

 2003年9月 5日 編集部より脆弱性公開の日程の確認の連絡を入れる。US本
 社で調整中である旨の連絡をもらう。

 2003年9月 6日 US本社より、パッチができたので確認して欲しいとの連絡
 が、直接当編集部へとはいる。また、脆弱性情報公開に関しては、早ければ
 来週月曜日(9月8日)になるとの連絡ももらう。

 2003年9月10日 編集部より、このパッチでは不完全ではないかとの検証結
 果を、US本社へと連絡する。

 2003年9月11日 US本社より、バージョン6および6.1では、10日に報告した
 不完全性な部分は解消されている旨の連絡が入る。


>> 本件対処当たってのベンダからのコメント

 今回の問題についてマクロメディアでは Severity Rating としては Important とマークしています。

 Importantというレイティングは、「クライアント、任意のエンドユーザのマシン上にある個人情報やセキュリティ情報にアクセスすることができてしまう」場合に使用されるレイティングです。ちなみに、もっとも高いレイティングである Critical は「クライアント、もしくは任意のエンドユーザのコンピュータ上でネイティブのコードを実行することができてしまう」場合に用いるレイティングです。

 今回のセキュリティ問題は、クロスサイトスクリプティングを用い、特定のブラウザを使用しているユーザの環境で、ユーザのクッキーにある限られたセキュリティ情報、個人情報にアクセスすることができてしまう、ことから、Important と判断いたしました。
 マクロメディアのセキュリティ Severity Rating の種類、定義につきましては下記をご覧ください。
http://www.macromedia.com/devnet/security/security_zone/severity_ratings.htm
《ScanNetSecurity》

Scan PREMIUM 会員限定記事

もっと見る

Scan PREMIUM 会員限定記事特集をもっと見る

カテゴリ別新着記事

「経理」「営業」「企画」「プログラミング」「デザイン」と並ぶ、事業で成功するためのビジネスセンスが「セキュリティ」
「経理」「営業」「企画」「プログラミング」「デザイン」と並ぶ、事業で成功するためのビジネスセンスが「セキュリティ」

ページ右上「ユーザー登録」から会員登録すれば会員限定記事を閲覧できます。毎週月曜の朝、先週一週間のセキュリティ動向を総括しふりかえるメルマガをお届け。(写真:ScanNetSecurity 名誉編集長 りく)

×