Firefox1.0.3で重大な脆弱性

Secuniaによる

Firefox1.0.3においていくつかの条件の下、リモートからローカルシステムへのアクセスが出来る模様。サンプルコードが公開されているらしいです。Secuniaによれば危険度は最大とのこと。

利用者がしうる対策はJavaScriptを止めておくこと。

いったい誰が

greyhatsecurityのpaulらによる http://greyhatsecurity.org/vulntests/ffrc.htm に相当するものがちょっと前にBUGZILLAにPOSTされ非公開扱いになっていたものの、john smith を名乗る第3者によってbugtraqにPOSTされた模様。http://marc.theaimsgroup.com/?l=bugtraq&m=111549388521910&w=2

another対策

softwareのinstallation機能を停止すればOKとのこと。

この脆弱性は、(1) IFRAMEの脆弱性を使って、アクセスをこの"white list"に載っているサイトとFirefoxに誤認させる (2) (1)のチェックを通過した状況で、JavaScript脆弱性を使って任意のコードを実行させる というもので、上に挙げた二つのサイトについてはサーバー側で(1)を防ぐ対策済み、ということだと思います。

なるほど…さっそく処置しました。私の場合はprefbar.mozdev.org とextensionroom.mozdev.orgを非許可に。ですが、任意サイトへの?XSS脆弱性がなくなったわけではないので…しばらくOperaを使おうっと。

と思ったら最新のOperaを気楽にインストールしてたらただ今大変なことに(汗笑)

その後1.0.4をインストールしました。完璧。

onUnloadとsetTimeoutの怪

onUnload

ページ内で記述されたonUnloadはそのページから離脱する直前に働くのですよねぇ?

setTimeout

setTimeoutは、指定された間隔ごとに関数や命令を呼び出すのですよねぇ?

onUnloadにて、0秒待ちのsetTimeoutを呼んだらどうなると思います?

XPSP2においてIE6の最新(6.0.2900.2180.xpsp_sp2_gdr.050301-1519)とOpera(7.54u2 build 3929)とFirefox1.0.3で以下のサンプルを試したのですが、全部同じ不思議な挙動を示しました…そろいもそろって同じ動きであるとは…ひょっとしたらonUnloadの意味を私が取り違えているのかしらん?

<script>
window.onUnload=setTimeout('location.href=\"http:\/\/www.google.co.jp\"',0);
</script>

あのぉ…ブラウザ達全員onLoadで処理してくれのですけれど(汗)…私のパソコン壊れてますぅ? Anyone confirmed?