Opera 7に多数のセキュリティホール
タレコミ by jbeef
jbeef 曰く、
INTERNET Watchが既に伝えているように、Opera 7に5つのセキュリティホールがあることがGreyMagicによって報告された。
1つ目の脆弱性は、JavaScriptのドメインを越えたアクセスの問題(過去のOperaの事例参照)で、悪意ある者は、新たに開いたウィンドウ上でメソッドをオーバーライドするという方法により、任意のスクリプトをそのウィンドウ上で実行させることができ、このときスクリプトは表示中のページのドメイン上で実行されるため、cookieやローカルファイルの盗み出しが可能というもの。
2つ目は、Opera 7にはconsole.htmlというファイルに例外メッセージを出力する機能があるのだが、メッセージ文字列に対して「<」と「>」はエスケープされるものの「"」がエスケープされないため、「"style=...」と書くことでそこに任意のJavaScriptコードを埋め込むことができてしまい、ローカルファイルの盗み出しが可能というもの。
3つ目は、先月紹介したIEの脆弱性の2つ目と同じ原理で、画像単体をURLで指定して表示させたときに内部で生成されるHTMLにクロスサイトスクリプティング脆弱性があるというもの。
4つ目は、他のブラウザでは、historyオブジェクトは、back()やforward()といったメソッドを持つだけなのだが、Opera 7はpreviousとnextというプロパティ(前と次のURL)も提供しているため、Webページ作成者は、訪問者がそれ以前にどこを見ていたかを知ることができてしまうというもの。
5つ目は、Opera 7には、console.htmlのメッセージを得るopera.errorMessage(i)というメソッドがあり、これが任意のサイトのHTMLから呼び出せるため、過去の例外メッセージを他人に取得されてしまう。メッセージにはURLが含まれているので、過去に訪れたページ(のうち例外を発生させたところ)のことを他人に知られてしまうというもの。
1つ目はともかく、2つ目の脆弱性はクロスサイトスクリプティング対策の基本であるし、3つ目は他のブラウザの事例を見ていればわかること。4つ目や5つ目なんぞは何も考えちゃいない様子がうかがえる。回避策はJavaScriptを無効にすること。