Opera 6.01以前にcookie/file/cache漏洩の脆弱性
昨夜Andreas Sandblad氏によってBUGTRAQに投稿された記事によると、 Opera 6.01以前に、cookieを盗まれたり、任意のローカルファイル(既知のファイル名のものに限られない)を盗まれたり、過去に訪れたページの一覧を知られたりするセキュリティホールがあり、15日にリリースされたOpera 6.02で修正されているとのこと。これはどうやら、 同氏が昨年11月にBUGTRAQに報告していた問題の修正のようだ(exploit codeが異なって見えるが、原理は同一で洗練されただけに見える)。Opera 6.02のプレスリリース内に「security」や「vulnerability」の文字は含まれていない。また、 http://www.opera.com/support/service/security/ には、過去に発覚した脆弱性についての説明は見あたらず、冒頭の 「Opera is one of the most secure browsers publicly available.」という通り一遍の謳い文句が寒々しい。 真にセキュアであるとは、暗号云々よりも、脆弱性にどう対応するかではなかろうか。欠陥の原因は、IFRAMEやFRAMEで開いたサブフレーム(例えば「foo」で参照したとする)に対し、「foo.location="javascript:alert(document.cookie)"」のスクリプトを実行させたり、<A TARGET="foo" HREF="javascript:alert(document.cookie)">のリンクを踏ませたりしたときに、そのフレームが現在表示中のドメイン上で、このスクリプトが動いてしまうところにある。 この脆弱性パターンは古典的なもので、最も古いところでは1998年10月にGeorgi Guninski氏によってNetscape Communicator 4.5に対して指摘されたものが近いと思われる。Operaについては、スラッシュドットでも以前にJavaScripが原因の別の脆弱性の存在が話題となっている。こうしたJavaScriptによるドメインを超えたアクセスの欠陥は、1998年から現在まで実に多くのバリエーションがIEやNetscapeに指摘されてきており、今後、同様の問題が繰り返しOperaに指摘される可能性がある。