2007年7月12日 星期四

Firefox 與 IE URI handler 出現問題

Firefox 與 IE URI handler 出現問題

Firefox and IE together brew up security trouble
http://news.com.com/8301-10784_3-9741435-7.html

Posted by Dawn Kawamoto July 10, 2007

在安全研究者最新的更新中,原先是指責微軟的 IE 又惹上一個新的零時exploit,現在發現這個 exploit 也可影響使用 Firefox 的人。

使用者的電腦如果有同時安裝 IE 以及 Firefox 2.0 以後的版本,可能會面臨「高度危急(highly critical)」的風險。這個問題始於,當用 IE 瀏覽一個惡意網站,而它又註冊「firefoxurl://」這個 URI handler 的時候,將允許瀏覽器與網站特定資源互動。結果是,使用者可能會發現他們的系統遭人從遠端危害。

在週二一早,安全研究者 Thor Larholm,他發現這個 IE 瑕疵,而Symantec 諸多責備 IE,不過同時間 Secunia 的 CTO Thomas Kristensen 則將此歸因於 Firefox 版本 2.0 以後所惹出來的問題。

"兩者兼而有之," Oliver Friedrichs,說 Symantec Security Response Center 的主任。 "你有二個相當複雜的軟體,而它們配合的不是很好,導致安全問題產生。這些元件獨自存在時自身相當安全,不過在一起就不同了。"

"Firefox 是當前的攻擊向量(attack vector),不過 IE 因為無法避免輸入到命令列中的指令而遭受指責," Larholm 說,在回應讀者時表示。"我同意 Firefox 已透過純粹的 DDE(dynamic data exchange)將其 URL handler 註冊,故無法逃避經由命令列參數 injection 的可能性,但 IE 應仍能安全的啟動外部應用。"

Friedrichs 則提到,雖然 Firefox(它在去年釋出版本 2)逐漸流行,不過大部分的 Firefox 使用者依然會讓 IE 留在電腦上,因為它本身就隨著Windows 作業系統而來。

遭遇風險的人數可能會很多,他說。

此時,Secunia 的 Kristensen 表示:"一種新的 URI handler 在Windows 系統上被註冊,假若 'firefoxurl://' URI 被呼叫,就能讓網站強迫啟動 Firefox, 如同 ftp://、http:// 或類似的 URI 能呼叫其他應用一樣。"

因為這種 URI handler 是由 Firefox 註冊,當 firefoxurl:// 啟動時,將導致任何參數 -- 那可啟動某程式進行某種特殊任務 -- 從微軟 IE 或其他應用傳遞到 Firefox。

攻擊者或能使用 "chrome" context -- 一個瀏覽器的界面元素,那能在它顯示的頁面四周創造 frame -- 將程式碼 inject 到使用者系統中,這些都可以在 Firefox 內完成,Kristensen 說。

"註冊 URI handler 須謹慎完成,因為 Windows 沒有恰當的方式能知道那種輸入潛在上會傷害一個應用," Kristensen 說。"例如,Windows 怎知'chrome' 這個字串對 Firefox 會造成傷害?"

除了躲開惡意網站外,系統管理員可以取消註冊,或移除 "Firefox URL" URI handler,或是改變 Firefox 同意 chrome 輸入的方式,Kristensen 說。

※ 要 disable "Firefox URL" 很簡單,開啟「檔案總管」→「工具」→ 「資料夾選項」→「檔案類型」,接著按「註冊的檔案類型」的「檔案類型」然後開始找「Firefox URL」這一行(它的副檔名是 N/A),接著按下面的進階,把執行動作裡面的「open」改成其他名稱,例如 xxx 就可以避免這個問題了,當然,直接砍掉也可以。請參考下圖:

* Firefox "firefoxurl" URI Handler Registration Vulnerability - Advisories - Secunia http://secunia.com/advisories/25984/