MozillaZine

Security Exploit Uses Internet Explorer to Attack Mozilla Firefox

Wednesday July 11th, 2007

Firefox_User sent us a link to a CNET News.com article about a security threat to Windows users with both Mozilla Firefox and Microsoft Internet Explorer installed. The issue can allow an attacker to remotely trick Firefox into executing potentially malicious code. However, a user has to be running Internet Explorer to actually get exploited.

Security researcher Thor Larholm has published a description of how the security flaw works, including a proof-of-concept (though some have reported that they cannot get this to work). When installed on Windows, Firefox registers a URL protocol handler to handle firefoxurl:// URLs (this works much like a http:// or ftp:// URL protocol handler). If an IE user visits a webpage that tries to call a firefoxurl:// URL (for example, using an iframe), IE will launch Firefox with no further prompting, passing it the URL. Neither IE nor Firefox escape or sanitise the URL, which allows an attacker to inject additional parameters into the command line used to invoke Firefox. Used in combination with the -chrome parameter, the attacker can make Firefox execute dangerous JavaScript code.

There's some debate as to where the blame lies — is it IE for passing untrusted data to another application or Firefox for not validating input properly? SecurityFocus refers to the problem as a Microsoft Internet Explorer FirefoxURL Protocol Handler Command Injection Vulnerability, placing the blame with Redmond, while Secunia calls it a Firefox "firefoxurl" URI Handler Registration Vulnerability, pointing the finger at Mozilla. News.com quotes Oliver Friedrichs of Symantec's Security Response Center, who says, "It's a little bit of both."

On the official Mozilla Security Blog, the Mozilla Corporation's Window Synder (who used to work for Microsoft) says that a fix will be included in the forthcoming Firefox 2.0.0.5. That said, she seems to suggest that she considers this to be mostly a problem with IE, noting that Apple fixed a similar issue with Safari recently. However, according to the ZDNet Zero Day security weblog, Microsoft claims the firefoxurl:// bug "is not a vulnerability in a Microsoft product".

On his weblog, Jesper Johansson (who also used to work for Microsoft), says the firefoxurl:// flaw is a Mozilla problem. He also provides instructions for unregistering the URL protocol handlers.

Thanks to roseman for some of the links used in this report.


#14 Re: Re: Re: Re: Blame?

by FrederikVds <frederik_vanderstraeten@yahoo.co.uk>

Thursday July 12th, 2007 5:16 AM

You are replying to this message

If you want to compare it to ls, let's say I write an application that uses ls to get a directory listing. If I want the directory listing of a folder named 'my " -al " folder', and I pass it on to ls like that: ls "my " -al " folder" Are you saying ls should be able to parse that and know what I meant? No, of course not, it can't. It can't read (my program's) mind. I should escape the quotes. _Exactly_ the same happens here. Internet Explorer forgets to escape the quotes, and Firefox has no way to know what Internet Explorer meant. It just knows what Internet Explorer sent. This is like an SQL Injection indeed, just like an SQL Injection there are three parties: the untrusted one, the proxy that handles the data, and the recipient that blindly executes what the proxy asks. You can't blame the MySQL server for an SQL Injection, the PHP script should sanitize the untrusted input. Similarly, you can't blame Firefox for this one, Internet Explorer should sanitize the untrusted input. And my last remark is that Firefox is not the only attack victim here, any software that implements a standard (non-DDE) protocol handler is harmed by this Internet Explorer vulnerability.