Posted
by
CmdrTaco
on Sunday May 08, 2005 @09:14AM
from the happens-to-every-browser dept.

An anonymous reader writes "News sources are reporting that a 'killer' new Firefox exploit has been revealed today by FrSIRT who warn that this 0day exploit/vulnerability (as yet unpatched) should be rated as critical. Summary of the exploit: If a user clicks anywhere on a specially crafted page, this code will automatically create and execute a malicious batch/exe file. Proof of concept code supplied by FrSIRT."

Are you telling me you expect a noob to know this? How is my grandmother supposed to know of this?

Know what? Whats wrong with your grandma, Alzheimer's?

Why doesn't the little red arrow (update icon) display yet?

Because you don't need to update anything. It was fixed on updates.mozilla.org. The site needs to be in your white list of sites that are allowed to install software to be vulnerable. I'm sure they will have a more permanent fix later at some point, but the current exploit no longer works. Go ahead and try it.

Anyone actually tried this yet? I did and it did NOT work on Windows XP, Windows 2000, Linux (obvious), Windows 98, Windows 2003 Server or Windows NT 4.0? So what gives? More FUD being spread about Firefox again?

>>Its too bad it has obnoxious ads, its javascript sucks, and it is proprietary though.

Proprietary, heaven forbid!

Javascript works just fine. When you don't see a site working properly, it's the script that's the problem. Opera 6 was very stringent about adhereing to Ecmascript standards. Opera 7 relaxed that a bit, and version 8 even more.

It's very easy to make the ads away (which are not at all obnoxious or intrusive to begin with).

It's not the fault of Opera really, but the DOM doesn't match either Netscape/Moz or Exploder.. I wouldn't consider myself a "web developer" by any means, but I've done my share. Getting pages to work in IE and FF is a chore, and supporting Opera is just a waste of time.

Fantastic. Now we'll see Microsoft going "OMG DON'T USE FIREFOX YOU CAN'T EVEN CLICK ON SOMETHING SAFELY!". I guess this is at least 1 step up from "just come to the page, we'll own your PC and you don't even need a mouse".

Now we'll see Microsoft going "OMG DON'T USE FIREFOX YOU CAN'T EVEN CLICK ON SOMETHING SAFELY!".

You mean like the F/OSS evangelists do everytime a flaw is found in Internet Explorer?

However, I do think there is an important lesson in here - a lot of open source advocates have set an unreasonable level of expectations by proclaiming the amazing magic of open source: A fantasy world where every line is thoroughly vetted by thousands of super-experts, and if the source is available that instantly disproves the existence of malicious intent (put a trojan out, mark in GPL and make the source available, and I'd bet a lot of the converted would immediately download and install blindly. There are countless OSS projects where no one but the author ever bothers looking at the code).

Not a full patch, but the exploit no longer works. Look at the dates in TFA:

Exploit posted 07/05/2005They noticed the Mozilla fix on 08.05.2005

IE still has multiple unpatched vulnerabilities, like it always does. Firefox gets a vulnerability and patches it the next day. I hate to call "astroturf", but the grandparent post reeks of green plastic.

So, I dare you: try it. Try posting a trojan in an open source project. See if it ever gets accepted. See how fast it gets patched, especially once it beco

At first, Mozilla fans (me included) all said "the chances of Firefox getting 0wned by exploits is very slim, Mozilla is secure by design -- IE isn't".

By about 0.9 or 0.10 the holes started pouring in -- but it was ok: "This is simply Mozilla Foundation's bug patching contest, they are working FOR us instead of AGAINST us."

After this it wasn't only white-hat mozilla funded security experts that started showing there was holes in the code. We changed our story again and, somewhat rightly, pointed out that "these are very theoretical and it would be very hard to use this to exploit a computer like IE can".

This is a really big problem. This will get exploited like crazy as it seems exceptionally easy to do. Not only that, I expect the only fix from Mozilla will be as usual, a 5MB binary installer with the files changed. This is unacceptable on a 56k modem and people just won't bother upgrading to a secure version.

Excellent analysis. Wish I could mod you up, but hopefully others will take it upon themselves to do this. There is some light at the end of the tunnel, however; I gather that the installed version of Firefox spans several small-ish files, and that the next Firefox version (i.e. 1.1 onwards) will be geared towards swapping out just the files that cause the problem, alleviating the large downloads (and general inelegance) of performing a full download & re-install every time a patch is required.

Um, let's take a minute and remember that according to the secunia advisory, ONLY sites that are allowed to install software can exploit this. And by default, that's only update.mozilla.org and addons.mozilla.org. If you are not adding untrustd sites to the list of sites that can install software to your browser, you are probably not in danger.
That is not to say this doesn't need to get fixed, it totally does. But we're probably getting a little more excited/worried than there is cause for.

And the best part, is the patch management system in Firefox is so damn poor (ie. non-existant), getting these patches distributed to end-users is a real damn chore (assuming they are distributed at all).

You're right, I'm gonna have real difficulty pressing those little green and red arrows in the corner of the window when the time comes for the new release. Oh boy, I'm sweating at the thought of the trials that await me! I'll probably need to lie down after that, it being so difficult and complicated and all.

Current Firefox installers are not able to update a previously installed Firefox. I updated from 1.0.1 to 1.0.2 by pressing on the red arrow. The new version was fully downloaded (great for modem users, who need patches anyway?), installed, and the result was two Firefox versions installed according to Windows Add/Remove program...

The nice thing is that if you checked the mozillazine forums, people complaining about the crappy way the updater worked were told that they

a) Only works on Windows,b) Makes you install the entire installer again instead of a 'diff'-style patch,c) The installer is nearly 5MB, which means it's too big for most to download on 56k or GPRS

Another problem with the 1.0.1, 1.0.2 and 1.0.3 updates is that they all required 'staggering' based on language becuase MozFo doesn't have the sort of server infrastructure to serve millions of downloads at once.

Mozilla provides a number of builds- Windows, MacOS X, and Linux i686, and each in a wide variety of languages.

These are the ONLY builds they should be worried about patching (and if they could make it language independent, it would be 3 packages). Everyone else gets the source code. Let Portage figure out how to update things.

That little "updates are available" icon that shows up in the corner when updates are available - it's just a figment of your imagination. And the ease of clicking on the icon and then on "ok", why, even if the icon was real? That whole process would be far too difficult for the average computer user to deal with - if it wasn't non-existant.

I sure hope the patches to this *open source* browser are distributed, <sarcasm>instead of being hidden from the public like most fixes to open-source stuff<

One of the advantages of IE is that when an exploit comes around you just send everyone a 300k file instead of 20MB of browser. With Firefox, you have to send them an entire browser every time 1 exploit comes out.

What Firefox needs is some sort of patching element built in to deal with patching the browser instead of forcing a complete downoad. It's not that Firefox cant do this. In fact, since most of the code is spread out across many files it should be a cakewalk to just update the affected file(s) automaticially with little to no user intervention. This would keep the file size download to a very minimum, allow it to update more frequently without waiting for a point release, and be easier to handle for people who dont know or care about security issues.

I disagree, I think patching should be handled by the OS, not each application. The last thing I want is every application in my system to upgrade itself spontaneously according to some independently implemented mechanism and policy.
I also don't think it's a good idea in general for applications to run in a context in which they are allowed to rewrite themselves.
(I'm a linux user - I don't know enough about Windows to know if a robust w

It's a severe security-related bug, so the bug report is restricted. This is meant to stop script kiddies from scanning bugzilla for unpatched exploitable bugs. Unless you're a disciple of the full disclosure persuasion, that is the correct way. The Mozilla Foundation discloses all bugs when a patch is available to the general public.

And on the flip side - where's all the folks who defend Microsoft's practices? Shouldn't they be also standing up here and saying how responsible the Mozilla Foundation is?

Really - why try to paint this as an "open source vs. Microsoft" issue? If anything, this is the usual "full disclosure" vs. "reponsible disclosure" vs. "no disclosure" debate. The underlying development model has little to do with it.

MS has always taken a "security through obsucrity" approach. They are firm advocates of keeping things closed. They believe it is best to keep things restricted to their in house and other trusted testers. They take public commentary, but only on the end result, the process and the code is shrouded in mystery.

So for them, it's quite consistent to want to sit on a bug until they have a patch. After all, the code isn't open so no one else can fix it, and if it's kept quiet it's much more likely no one can ex

interesting - even when you go past the "cant view bugs from slashdot" stuff,

Speaking of which, is there a way to turn off referrer information in firefox? It seems to me to be a big privacy problem, and it adds almost no functionality. I really have no incentive to tell other people what sites i'm browsing, so I'd rather not.

Firefox had the advantage of being able to fix bugs reveled by IE expolits. This gave the illusion of it being a bulletproof browser. Now that it has caught up with IE, it has exploits of it's own which just show that it's not much better than IE (coding standard-wise).As long as programs are written by humans, there'll be flaws. It's a fact of software-development.

They were already working on patching this, but it was stolen before they could finish and leaked to bugtraq with LIVE material in the exploit (it's not a proof of concept, folks!) and no explanation or advisory.

A^C^E, a Firefox security researcher, is claiming on Addict3D.org [addict3d.org] that this is a 0day duplicate of a leaked, known bug. He says, "I suspect that my server was compromised, and I am currently using my contacts to find the culprit and bring him to justice."

This exploit has two parts: an XSS hole and a hole that lets xpi-installation-whitelisted sites execute arbitrary code. Your workaround only fixes the second part and leaves you open to an XSS hole, which is sufficient for stealing your saved passwords, cookies, secret pages on your intranet, etc. The real workaround is to disable JavaScript.

That is incorrect. The exploit works by loading a page from a trusted site (one of the mozilla.org sites on the whitelist), then taking advantage of another Firefox bug to run some javascript in the security context of the trusted site.

It looks like the script is spoofing ftp.mozilla.org somehow. I made sure that "Allow Web Sites To Install Software" was enabled in Firefox's preferences, and I even added "ftp.mozilla.org" to the whitelist of allowed sites! Still didn't work.

Here's what happens when I load the page:

1. Fx appears to contact ftp.mozilla.org and downloads the harmless XPI referenced in

Firefox is only supposed to download and install from things in the whitelist. Unfortunately, it doesn't check the site correctly, and therefore can be tricked into thinking another site is mozilla.org

So even though you "secured" your system, it's still vunerable because as long as you have anything in your whitelist (especially mozilla.org or the defaults), you're vunerable.

Agreed -- and even worse, the design was copied directly from Microsoft's ActiveX system!

It's a bit frustrating to see Firefox advocates continually prattle about "Security... activex LOL", when FF does in fact have a nearly identical feature as ActiveX. And when there's a mechanism for installing program files from webpages, people will tend to find holes in the sandbox. Hopefully this quiets the "better by design" crowd.

Has this already been fixed in the latest-trunk builds (aka 1.03 specific) or is this a firefox-wide bug? Also, does this affect (effect? I can never remember) other iterations, like Mozilla, Netscape, K-Melon, etc?

There's not many comments yet, but most of them have a similar theme: " Oh no, now Microsoft and Internet Explorer users can get payback for all the trash talk we've thrown at them." Then they rationalize it with, "But, MS and IE are way worse because of quantity, severity, and duration until patch."

Now think about it for a minute. Who are you really at war against? Security exploits and the people who would exploit them, or browsers other than the one you use and the people that use them?

This reminds me of the days when Mac zealots would get all freaked out every time PC's got faster. "OMG, this is bad news! Now there are 3GHz PCs for under 500 dollars!"

This really boils down to people rating the quality of Product A compared to the suckiness of Product B. Personally, I've been using Products A, B, and C for a long time. When there is a problem found with Product B, that really doesn't make Product A perform the task I use it for any better.

If you want to call yourself a truly knowledgeable computer user, then you have to acknowledge that Products A, B, and C all have their strengths and weaknesses and therefore have tasks their better suited for as well as tasks in which they're not the best solution.

If you look at it from the proper perspective, every time an exploit is found by good people before bad people have a chance to do harm with it then it is good for everyone.

This particular exploit also demonstrates how foolish it is to posture and sling insults. The whole time FF users slung insults at IE when exploits were found, this exploit was there lurking below the surface waiting to be found.

Let applications that are without exploit cast the first stone. Since that's never going to happen, argue your cause based on its merits.

This is the first Firefox exploit that has received the rating 'Extremely Critical'.

--- Extract from Secunia's site ---

Description:Two vulnerabilities have been discovered in Firefox, which can be exploited by malicious people to conduct cross-site scripting attacks and compromise a user's system.

1) The problem is that "IFRAME" JavaScript URLs are not properly protected from being executed in context of another URL in the history list. This can be exploited to execute arbitrary HTML and script code in a user's browser session in context of an arbitrary site.

2) Input passed to the "IconURL" parameter in "InstallTrigger.install()" is not properly verified before being used. This can be exploited to execute arbitrary JavaScript code with escalated privileges via a specially crafted JavaScript URL.

Successful exploitation requires that the site is allowed to install software (default sites are "update.mozilla.org" and "addons.mozilla.org").

A combination of vulnerability 1 and 2 can be exploited to execute arbitrary code.

NOTE: Exploit code is publicly available.

The vulnerabilities have been confirmed in version 1.0.3. Other versions may also be affected.

This exploit will work on Linux and MacOS, too, if anybody bothers to write an attack for them.

The basic problem is that the Mozilla developers, in their futile attempt to create a "platform", put in a mechanism comparable to Active-X - a way to dynamically download executable programs. Of course, they tried to make sure this "feature" could not be used for purposes of evil. Like Microsoft, they failed.

Understand, this isn't subtle. The code uses built-in Mozilla JavaScript extensions to create a local file in a very straightforward way. It then calls "nsILocalFile::launch()" (which does exactly what you think it does) to launch it. Those are capabilities that shouldn't be in a browser's JavaScript engine at all.

Having designed in a potential security hole big enough to drive a semitrailer through, they tried to make it "secure" with the usual crap approaches - signatures, lists of trusted sites, and disabling for certain types of URLs. They failed. They forgot to make those checks for "favicon.ico" files (Mozilla's implementation of a Microsoft icon-in-the-toolbar gimmick.)

Plugging that hole is not the answer. The problem is more fundamental. "nsILocalFile::launch()" needs to be removed. Browsers have no business launching arbitrary executable programs. Period.

this problem is equivalent to xpinstall having a buffer overflow exploit which allows code execution.

No, it's not. This isn't anything subtle like a buffer overflow. This exploit uses standard features to download an executable (which shouldn't be allowed) and then execute it (even worse). This is a designed-in hole. It passed Mozilla's code review on April 9, 2002.

Personally, i'm all for removing extensibility of firefox, dropping support for helper applications and external view source. are you really a proponent of such things?

Yes. The Netscape/Mozilla "browser as platform" thing didn't work out. That's why Firefox exists. Firefox has legacy code from the Mozilla era, and much of it needs to come out.

In a nutshell, Firefox has the idea that some sites are privileged (namely the sites on the whitelist for installing software), it lets privileged sites have a dangerous degree of control over the user's computer, and it has at least one way for unprivileged sites to execute code in the context of a privileged site.

What are the important differences between this and Microsoft Internet Explorer? In MSIE some sites are in the Trusted Sites or Local Machine zones and therefore privileged. Such sites have a dangerous degree of control over the user's computer, and there have been many ways for unprivileged sites to execute code in the context of a privileged site.

Is Firefox doing something better than IE in its design, or are we going to see a whole class of bugs like this one in the future?

The security advisory doesn't explain it too well, but it it seems to imply that this only happens with sites that you've added to your list of sites trusted to install software (in which case it isn't really much of a problem).

Even when I give it authorisation and enable JS, I cannot get the exploit to work.

Anyhow quoting the article:

Update (08.05.2005) - The Mozilla Foundation patched (partially) this
issue on the server side by adding random letters and numbers to the
install function, which will prevent this exploit from working.

I'm using Linux too, but from what I hear, a significant amount of Windows users are completely and totally failing to trigger the exploit. Have any Windows users managed to get it to actually work, yet?

And everyone will say ":oh no firefox is a security risk" whaaaa. well this isnt really the case and is overstating things just a bit. When it comes down to it firefox still has many quicker fixes and the bug is probably already fixed by now.

Perhaps the bug is already fixed in the dev tree, but this is irrelevant if the fix takes 3 months to deploy to users. Hopefully, the fixes to the auto-update system coming up in 1.1 (where a "security fix" does not consist simply of "re-install the whole of Firefox with this new version") will make the whole deployment aspect faster. Although I have to say, Firefox 1.0.3 seemed to follow quite quickly on the heels of 1.0.2, which is encouraging!:)

The devs were already working on it before some jerk full-disclosured w/working exploit. It had already been marked as a bug that would block both the 1.0.4 and 1.1 releases. All this person did was cause a lot of headaches for Mozilla developers, and put many users at risk.

The devs were already working on it before some jerk full-disclosured w/working exploit.

Well double dumbass on the Mozilla developers for knowing about it and not taking steps to mitigate it even without an exploit in the wild. Calling the person who released it a "jerk" just shows that you have no understanding that a security risk is severe, whether or not anybody knows about its existence. It's said time and time again, but nobody ever listens: security through obscurity is not security. The person w

Well double dumbass on the Mozilla developers for knowing about it and not taking steps to mitigate it even without an exploit in the wild.There was nothing the Mozilla developers COULD do to mitigate it. Only when we (the Mozilla Update devs) realized exactly how the exploit depended on the Mozilla Update website could we do anything - and we spent a few hours last night working on the first level of mitigation. We've been working on a better solution most of today.

I routinely see websites exploit a fully-patched IE -- either due to some unpatched vulnerability or due to the ease of tricking the user with IE. I have yet to see a single website successfully exploit firefox. Of course, that doesn't excuse your sysadmin's incompetence, but I would say even Firefox 1.0 is a hell of a lot less vulnerable than the latest MSIE.