Firefox Quickies 245
First, Gypsy2012 writes with a highly critical security flaw involving both Firefox 2.0 and Internet Explorer, which could allow a malicious attacker to gain remote control of a user's system. It exploits the "firefoxurl://" URI handler. ... Next, reader dsinc sends word that the beta for Firefox 3 has slipped by 6 weeks. The new target date is September 18 at the earliest. The article wonders whether the final release will slip into 2008. ... Finally, reader jktowns points out new anti-phishing features in the latest nightly build of Firefox 3. One of them was added into the code base by the guy who developed the LocationBar2 extension.
Demonstration (Score:5, Informative)
Cmd.exe [firefoxurl]
This should launch cmd.exe....
Notice that you must click that link from internet explorer, firefox will warn you that an external application is being called.
above example taken from here [xs-sniper.com]
Re:Demonstration (Score:3, Informative)
this [firefoxurl]
If you open this in firefox (as most of you probably are usuing firefox, since this is slashdot), it warns you that something is trying to launch an external application.
once again, the above example was taken from Here [xs-sniper.com]
Re:Ok.... (Score:5, Informative)
Hell, I've got Firefox on my WIndows system (but Opera is my main browser,) and I usually end up using IE for some sites.
Doesn't it require IE first? (Score:1, Informative)
Sorry, can't try it right now as I'm on Ubuntu (Feisty Fawn). But I'll look into it tomorrow when I get to work.
Re: Firefox crashes (Score:5, Informative)
Re:What OS (Score:3, Informative)
Re:What OS (Score:2, Informative)
http://en.wikipedia.org/wiki/Virii [wikipedia.org]
Here's how... (Score:5, Informative)
Now in the list of registered file types find the one that says:
"(NONE)" for extension and "Firefox URL" for file type
Select it and click on delete button to delete it.
Click on "OK" to close the "Folder Options" dialog.
IE problem, but also Firefox problem. (Score:5, Informative)
Firefox will warn you if a program tries to use other protocols. It will allow you to suppress the warning, however, which can cause the same problem as IE, but at least you can't say you weren't warned. So from this POV, it is IE's problem moreso than Firefox's, especially when it's considered that the URLs can't do anything from WITHIN Firefox, and that (I haven't checked this, just heard it somewhere) the protocol was requested by MS for some Vista compatibility thing or some such nonsense. Not sure if there's anything to that.
However, on the flip side, anyone who implements a protocol needs to be aware any web page can invoke the protocol at will, without the consent of the user (well, thanks to IE's "standards"). This results in being able to do things like this [mzzt.net]. This webpage redirects the browser to steam://open/main, which will open the main Steam window. The user never sees the actual url. This could work with the firefoxurl protocol as well. Here are some other things that can be done [valvesoftware.com], some of the uglier ones have confirmation screens I believe, but launching a game or connecting to a server does not. Note the first one which promises that it can redirect command line arguments, just like firefoxurl... however I cannot get that to work (I tried -shutdown and it just focused the main window like my current sample does). Also note the hackish steam://openurl/, which is designed to allow Steam's built-in IE browser to invoke the computer's default browser. Theoretically this could be used to bypass a popup blocker.
Of course it would appear that Steam at least can't run arbitrary programs and is limited to it's own folder in terms of effects (I could force you to join my UBER LAME COUNTER STRIKE SERVER but that's about it).
I think both Microsoft and Mozilla need to take steps to fix this problem. Microsoft needs to improve external protocol handling to at least what Firefox does (Firefox could even secure its own handling more, but that might detract too much from the flexibility. Not that that's stopped anybody before). Mozilla should remove this silly firefoxurl bit. I can't think of any legitimate reason for it (anyone have any clue?).
As for Valve with Steam... steam://openurl/ is a bit much I think. It's expected for users who don't know what MSHTML or ActiveX are to think it's a bug that external windows open in IE, but us devs know that, internally, IE is just spawning a new window for a page. Since when were you browsing the web in IE and click on a link and it popped open in Firefox? I wouldn't want that to happen if I preferred IE! (Yeah... firefoxurl is definitely useless.) I mean, can't Valve say that because Steam uses Internet Explorer internally for the Store, all launched webpages will appear in Internet Explorer and there's no way around it? Eh probably not. The technically inclined probably think everything is great now and wouldn't care if anyone told them Valve used a hackish and possibly unsafe solution.
Although at the least they could use a whitelist for urls to use for openurl... IE steampowered.com and whatever other sites they link to... although considering the number of third party games being added it could be a largish list. :(
Perhaps steam could kick the steam:// thing entirely, but the only alternative I can think of is an Internet Explorer BHO (ick, not worth the trouble IMO), unless they can do something fancy with javascript or java or flash or something.
Here's a bonus for reading all this: You can see what available protocols Windows / Internet Explorer can use (Firefox too, although it has its own extras like about: and data:) by checking HKEY_CLASSES_ROOT in regedit. Search for Values with the exact name of "URL Protocol" and the keys you find (or maybe it's in the default value?) are the protocol names. With a look it can be easy to figure out how
Re:Demonstration (Score:4, Informative)
Firefox 2.0.0.4 and IE6.
Doesn't even work from IE, just loads a blank tab in firefox. I guess I must be doing it wrong
Re:What OS (Score:5, Informative)
Re:What OS (Score:2, Informative)
You're correct. Protected mode means something different [microsoft.com] in this context.
Nowhere near as much fun as handling triple faults in your assembly code!
What earthly use is "firefoxurl" anyway?! (Score:3, Informative)
After reading about "firefoxurl" and what it does, I only have one simple question: what on earth were they thinking when they implemented it? What's it supposed to be useful for?
As far as I can tell, the only use it could possibly have is creating desktop URLs that always open in Firefox, however there's no reason why they would have to create a URL handler to do that. Otherwise, it's completely worthless and, as discovered, a security risk, to boot.
For added fun, attempting to use a "firefoxurl" URL while Firefox is already running creates an infinite loop. (It just keeps on asking you to allow an "external application" to launch. It doesn't even seem to actually work. I get the same results when launching it directly from IE through the address bar.)
Why was this implemented? What was it supposed to do?
And, for bonus points, is it possible to write a firefoxurl that, when opened in IE, would unregister the firefoxurl handler?
Re:What OS (Score:3, Informative)
Re:What earthly use is "firefoxurl" anyway?! (Score:5, Informative)
Except that's still retarded, since it's by definition a remotely executable code exploit. URLs don't have to be loaded by users, and in some cases, can even be loaded without any user interaction. (<meta http-equiv="Refresh"> comes to mind, although I haven't gotten the exploit to work on my system yet).
XUL applications have access to basically everything on the system. You know how you can launch files from the Firefox's Downloads window? There's nothing that prevents a skeleton XUL application from downloading a EXE and then launching it with no user interaction. The dialog that Firefox displays when launching executables is handled by the download dialog, there's nothing that requires it be displayed. (I've written an extension that launched a Windows Control Panel applet before, trust me that there's nothing really preventing XUL applications from being nasty.)
So I'm still left wondering, what was this intended for, and who thought it was a good idea?
Re:Demonstration (Score:4, Informative)
Re:Demonstration (Score:3, Informative)
Firefox just does what you tell it, and 'you' in this case is an IE which doesn't escape characters that have a meaning to the shell that is going to execute the command. So it's IE pwnx0ring (is that how you spell it?) the *shell* to get it to execute firefox with arbitrary parameters. I'd be willing to bet that there's a way to get it to execute arbitrary commands, not just firefox. I don't do WinDOS, but the unix equivalent would be something like
";
At times I wish I actually had a windows machine to try these things out on.
Phil
Re:Demonstration (Score:3, Informative)
Firefox users with the NoScript extension [noscript.net] installed have been already protected both from MacManus/Larholm remote code execution and from Rios "Universal XSS" since June, the 22th, see NoScript changelog [noscript.net].
More in general, they're protected from chrome privilege escalation gained by opening non-chrome URLs in top-level chrome windows (Larholm's PoC) and from javascript: URLs being loaded in externally opened browser shells (Rios' PoC), no matter if attempted through the firefoxurl: handler (like in this specific case) or by other yet unknown means, thus these features are meant to stay in place even after Firefox 2.0.0.5 with its commandline-specific fix is released.
Re:Regenerated on FF start (Score:3, Informative)
HKEY_CLASSES_ROOT\FirefoxURL
So, go to start Run, type regedit and navigate to this key. Right click on it and choose Delete.
Of course you could also export the entry and save it in a
To put it back, just double click on the
Re:Demonstration (Score:2, Informative)
Microsoft seem to disagree with you:
http://msdn2.microsoft.com/en-us/library/a1y7w461
Of course, their system is braindead, but it *is* standardised.
Re:Laughing? A less happy feeling (Score:4, Informative)
If you try it on Vista with UAC turned on, it'll fail -- or, at least, it'll give you a warning dialogue (one of these [wvsom.edu] ) -- due to IE's protected mode, which is part of UAC (quick summary: IE runs as an even lower integrity token than normal users, and need privilege elevation to a normal user token to do things like write to anywhere other then temporary internet files and access other programs on the computer -- in this case, Firefox).