Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

Mozilla/Firefox Bug Allows Arbitrary Program Execution

Posted by CowboyNeal on Thu Jul 08, 2004 05:21 PM
from the no-one's-perfect dept.
treefort writes "An article at eWeek has the lowdown. The article also has a link to the bug report which addressed this issue some time ago. Still, I feel safer using Firefox since malicious persons are much more unlikely to target any vulnerabilites. Note that this only affects users of Mozilla and Firefox on Windows XP or Windows 2000." New releases are already available on mozilla.org that fix this. Update: 07/09 00:41 GMT by CN : I removed the bum link to Bugzilla, since I guess they don't like us. Also I discovered that OSDN's own NewsForge has more on the situation.
+ -
story
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • A clear advantage (Score:5, Informative)

    by SIGALRM (784769) * on Thursday July 08 2004, @05:21PM (#9647623) Journal
    The Mozilla Foundation has confirmed the problem and issued a fix
    This incident underscores why many use or have switched to Firefox: vulnerabilities discovered and promptly fixed. Not weeks and months from their publication--and not by another vendor--this exploit was addressed by those who have made available Mozilla's code for public scrutiny.

    FYI, in case you didn't read the article, you can download the fix here [mozilla.org].
    • Re:A clear advantage (Score:5, Interesting)

      by hackstraw (262471) * on Thursday July 08 2004, @05:29PM (#9647697) Homepage
      Yeah, they "fixed" it timely. But WHY THE HELL IS THERE A shell: SCHEME IN THE BROWSER IN THE FIRST PLACE? I've never heard of it, never needed it, and obviously there are issues with it.

      Come on we blast M$ for putting vbscripting and whatnot in IE, but this is just as dumb.
      • by Anonymous Coward on Thursday July 08 2004, @05:34PM (#9647755)
        Mozilla hands off schemes it doesn't know to the operating system (Windows), and WINDOWS executes the shell scheme. It was obviously a security flaw in their eyes, too, as they fixed it in XP SP2. If you were able to run Windows with real restricted user accounts, this wouldn't really be such a problem.
        • Bad way (Score:5, Interesting)

          by phorm (591458) on Thursday July 08 2004, @06:08PM (#9648059) Homepage Journal
          Which is basically to say:

          IE bad because it is integrated into the OS
          Moz bad because it calls the OS because it's not integrated

          Both are bad. In fact, this is quite bad for Moz, as one of the touted improvements is that not being OS-integrated avoids such issues.

          Basically, you're passing on data from the windows URI handler... so it's almost like importing a windows IE/Web insecurity into Moz. Perhaps if Moz just imported the windows URI handlers as a datafile, and stripped out known baddies?
          • Re:Bad way (Score:5, Interesting)

            by KevinKnSC (744603) * on Thursday July 08 2004, @06:20PM (#9648144)
            Basically, you're passing on data from the windows URI handler... so it's almost like importing a windows IE/Web insecurity into Moz. Perhaps if Moz just imported the windows URI handlers as a datafile, and stripped out known baddies?

            Relying on stripping out "known baddies" means that what you're really relying on is your list of known baddies. Any new baddie is, by definition, not on that list. Stripping them out is a start (web pages don't need access to shell://), but it's not a complete solution.

            • Re:Bad way (Score:5, Interesting)

              by phorm (591458) on Thursday July 08 2004, @06:45PM (#9648311) Homepage Journal
              Well, the alternative to that would probably be to either not allow any that aren't known good (hey, how come this dumb browser won't open file X!), or allow all or all that aren't known bad but with a warning beforehand. Unfortunately, hoards of spyware/virus infested machines show up how well users pay attention to warnings/disclaimers/etc
        • by Switchback (6988) on Thursday July 08 2004, @07:04PM (#9648445)

          Agreed. It's not really a bug in the browser, it's a flaw in Windows.

          Windows has a bunch of protocol handlers registered. Mozilla knows how to handle a few (e.g. http, ftp, etc.). Whenever it encounters a protocol it doens't know what to do with, it sees if Windows knows how to handle it. Windows either handles it in some way or it doesn't. If it doesn't, Mozilla puts up a message saying "xyz is not a registered protocol." Mozilla has no way of knowing that anything is bad or dangerous.

          The real bug is in Windows. The only real options the Mozilla developers have is to black/white list known dangerous protocols or simply don't allow protocols Mozilla itself doesn't handle. Neither are optimal. If you can't trust the OS you're on, you really limit yourself, bugs or not.

          So we banish the "shell" protocol today. Who's to say Windows won't have another flaw in another protocol tomorrow?

          This really isn't any different than plugins, which are in a sense, external protocol handlers. i.e. they know how to handle certain content...just like a protocol handler. What if there is an exploit in a plugin? Mozilla just starts the plugin with the listed parameters and lets it go. Are you going to blame Mozilla for allowing the plugin to run, or are you going to require that Mozilla not allow "known, dangerous plugins" to run?

      • by Anonymous Coward on Thursday July 08 2004, @05:39PM (#9647797)
        Well, if you're going to brag about standards support, you need to support standards. Including the stupid ones.
    • Re:A clear advantage (Score:5, Informative)

      by Anonymous Coward on Thursday July 08 2004, @05:29PM (#9647699)
      This incident underscores why many use or have switched to Firefox: vulnerabilities discovered and promptly fixed. Not weeks and months from their publication

      Yeah, it was years before it was addressed. If you read the Bugzilla report, it was first opened in 2002. This is not a good example of "open software fixes things faster".

      • Re:A clear advantage (Score:5, Informative)

        by SIGALRM (784769) * on Thursday July 08 2004, @05:36PM (#9647771) Journal
        it was years before it was addressed
        Not really. The bug history began immediately afterward and for quite some time it was moved between FIX and WONTFIX but received a lot of attention. Here are some of the comments from the bug report at http://bugzilla.mozilla.org/show_bug.cgi?id=167475 :
        ------- Additional Comment #2 From Jesse Ruderman 2002-09-11 16:58 PDT [reply] -------
        It's not hard for a malicious site to get a visitor to click a link. Requiring
        a click or an equivalent keyboard action can be useful for limiting how much a
        web site can annoy you (pop-up windows, etc.) but I don't think it's useful for
        larger security issues.

        ------- Additional Comment #3 From Daniel Veditz 2002-09-11 17:25 PDT [reply] -------
        I agree, WONTFIX. Other bugs are already discussing blocking external protocol
        handlers, we don't need to do additional work to base the decision on context.

        ------- Additional Comment #5 From Daniel Veditz 2002-09-12 11:35 PDT [reply] -------
        re-opening for reconsideration. This doesn't solve the problem of untrusted
        protocols, but even for trusted ones it doesn't make much sense in these kinds
        of places.
        • by shellbeach (610559) on Thursday July 08 2004, @06:13PM (#9648101)
          Not really. The bug history began immediately afterward and for quite some time it was moved between FIX and WONTFIX but received a lot of attention.

          However much developer attention it received (and actually it wasn't much - see my comments below), it doesn't change the fact that this exploit was present for almost two years ... and a fix was only released when the bug received wider internet attention.

          The speed with which a fix was issued after the general public was made aware of the problem was good ... but the previous activity over the bug (imagine setting the status to WONTFIX for this!!??) smacks of Microsoft-style negligence/lack-of-concern.

          The specific comments you cite are indicative of this lack of concern- Comment #2 basically claims that it's not worth fixing security issues that are initiated without any form of user intervention whatsoever. And why? because it's easy enough to get a luser to click on a malicious link, so why should we worry about sites that just bypass the malicious click?? I don't know about everyone else here, but that sort of logic concerns me!

          Just looking at the amount of interest in this bug after 2002 (only brief two comments in 2003 and another two in 2004; no patches submitted or even thought about) seems to suggest that if this had not been reported by the internet media this would never have been fixed. Or at least, not until exploits of it became commonplace.

          And with the recent internet-banking trojans using a similar exploit (i.e. download and run malicious code without any user prompting) in IE, the issue seems serious enough to me to have warranted a quicker fix.
          • Re:A clear advantage (Score:5, Informative)

            by shaitand (626655) * on Thursday July 08 2004, @06:49PM (#9648345) Homepage Journal
            The debate on whether or not to do something about it was because it's the uri handler in the OS which is insecure, not mozilla.

            This isn't really a fix for a security problem in Mozilla, it's a workaround for a security problem in windows... which is why this only affects Mozilla on windows.
        • by johkir (716957) <jokirby.vmth@ucdavis@edu> on Thursday July 08 2004, @06:21PM (#9648147)
          Another big difference between the two is the fact that Mozilla even uses a publicly available bug list - Bugzilla. Theoreticaly, we all have a list of potential exploits at our finger tips. Could you imagine a list like that for IE? Maybe that's just what they need.

      • Re:A clear advantage (Score:5, Informative)

        by Anonymous Coward on Thursday July 08 2004, @06:34PM (#9648238)
        The bug listed in the summary is about a general issue - no actual exploit was known. When an exploit was made known YESTERDAY, bug 250180 was filed, and fixed within 24hrs.

        Go to the source for better info!!!

        http://www.mozilla.org/security/shell.html
      • Re:A clear advantage (Score:5, Informative)

        by mldl (779187) on Thursday July 08 2004, @07:05PM (#9648458)

        Actually http://bugzilla.mozilla.org/show_bug.cgi?id=250180 is the first mention of the shell: bug. Bug 167475 is a catch all deciding whether or not Mozilla/Firefox should hand off unknown protocols. If it used a whitelist of known protocols as some people suggest then it would break a lot of things relied upon over various platforms.

        The specific shell: bug was reported only Wednesday morning which gives us a total time of less than 48 hours.

    • Re:A clear advantage (Score:5, Informative)

      by bwy (726112) on Thursday July 08 2004, @05:31PM (#9647725)
      Very true- no software ever written has been 100% bug free. Mac, Linux, Mozilla etc. simply aren't targets for obvious reasons that are frequently brought up here.

      The difference in large part in my opinon boils down to:

      #1 WHO finds the bug. Is it the developers and community that discovers it in good faith, or is it a hacker and the rest of us find out after a billion dollars has been lost worldwide to the latest worm, virus, etc.

      #2 As you said, how quickly is the problem fixed. Certainly, private companies aren't necessarily horrible at doing this, to spite what people say. I work for a small software company and assure you that any security issues with our product would be corrected promptly. By the same token, some open source projects w/o a steady lead or direction could have exploits that go unfixed for some time.

      However, based on my observations and considering those two points, I'd say I certainly feel better using Firefox than IE.
      • by Wofser (794587) on Thursday July 08 2004, @05:54PM (#9647955)
        "#1 WHO finds the bug. Is it the developers and community that discovers it in good faith, or is it a hacker and the rest of us find out after a billion dollars has been lost worldwide to the latest worm, virus, etc." The problem is not who find out about it. The problem is that a big portion of the users dont upgrade. I mean the latest 4-5 big worms did not use any unknown exploits. It used old and well documented exploits, exploits that you could find example-code for. Copy-paste-compile!!
        • by mobets (101759) * <mobets@NOSPaM.gmail.com> on Thursday July 08 2004, @06:01PM (#9648005) Journal
          lol, you forgot the semicolon after the pritf line...

          #include
          int main()
          {
          printf("Hello World\n");
          return 0;
          }
        • Re:A clear advantage (Score:5, Informative)

          by Aidtopia (667351) on Thursday July 08 2004, @06:53PM (#9648371) Homepage Journal

          Except for the semicolon, as the other poster pointed out, this does have some portability problems. Not sure if you'd call them bugs or not.

          #include<stdio.h>

          You could argue that a preprocessor should allow this, some will indeed choke because there's no space before the <.

          return 0;

          The 0 is returned to the operating system, but operating systems have different rules for what return values mean. For example, in VMS, even numbers are errors, and

          return 0;
          will generate a nasty error message upon completion.

          Some people argue that the compiler should return "success" when the code says to return a 0. I haven't read anything official that supports that. And if so, how would you return a 0 if that's indeed the error you need to return to the operating system?

          For maximum portability with ANSI C, you probably want to do something like this:

          #include <stdio.h>
          #include <stdlib.h>

          int main(void) /* void makes it clear this is ANSI, not K&R */
          {
          printf("Hello, World!"); /* note ',' for proper grammar */
          exit(EXIT_SUCCESS);
          /*NOTREACHED*/ /* Let lint know, that you won't get here. */
          return 0; /* silences compiler warning */
          }

          [Slashcode says to use <ECODE> instead of <PRE or <CODE, but how do I inline code or do indentation with <ECODE>?]

          Even his sig has a typo!

    • Re:A clear advantage (Score:5, Interesting)

      by Anonymous Coward on Thursday July 08 2004, @05:33PM (#9647747)
      Bullshit. The same e-Week article points to the Bugzilla discussion. Since Bugzilla refuses links from slashdot, I have copied the first post for bug 167475. Note the date and tell me about the "clear advantage".

      Opened: 2002-09-09 04:41 PDT

      As we can see in bug 163648, external protocols can cause a lot of security
      issues. But exploits for this bug are dangerous mainly if external protocol
      handler is being requested automatically from HTML code via <IMG
      SRC="externalprotocol:URL">, <IFRAME SRC="externalprotocol:URL"> and other
      similar cases.

      More, with relation to common sense, invoking an external protocol is absurd in
      this case, because <ANYTAG SRC="..."> is request to return some data in browser,
      not for launch external application.

      So, disable external protocols in all cases, excluding <A HREF=>, can solve this
      problem.

      Marking severity critical according to 163648.

    • by ron_ivi (607351) <sdotno@@@cheapcomplexdevices...com> on Thursday July 08 2004, @05:48PM (#9647886)
      This incident underscores why many use or have switched to Firefox: vulnerabilities discovered and promptly fixed. Not weeks and months from their publication--and not by another vendor--....

      But some people [technewsworld.com] seem to be of the opinion that too many patches would be confusing.

      "Ballmer said one key improvement will be a simplification of the way patches are distributed. Microsoft plans to move to a monthly patch release schedule, which he said will make it easier for network administrators to plan updates, which often require system shutdowns before installation."
      If this other vendor is right that people want no more than monthly patches, such a fix may have to wait weeks.
      • Re:A clear advantage (Score:5, Informative)

        by lseltzer (311306) on Thursday July 08 2004, @05:32PM (#9647738)
        Not quite done yet. You have to restart your browser first.
        • Re:A clear advantage (Score:5, Informative)

          by Anonymous Coward on Thursday July 08 2004, @06:05PM (#9648038)

          Valid point. Inspect the XPI before installing it. It's a ZIP file which contains two js files. "install.js" copies "bug250180.js" into the default-prefs folder. "bug250180.js" creates the preference string "network.protocol-handler.external.shell" with the value "false", which disables this particular handler.

          The complete content of these files:

          bug250180.js:
          // block shell: protocol handler (bug250180)
          pref("network.protocol-handler.extern al.shell", false);
          install.js:
          if (SUCCESS == initInstall("Patch for bug 250180","mozilla.org/bug250180","1.0.0.0"))
          {
          &n bsp; var prefDir = getFolder("Program", "defaults/pref");
          var err = addFile( "", "bug250180.js", prefDir, "");

          if (err == SUCCESS)
          performInstall();
          else
          cancelInstall(err);
          }
          ...or something similar to that, which I can't show here because Slashcode fucks it up.
      • Re:A clear advantage (Score:5, Informative)

        by Maradine (194191) * on Thursday July 08 2004, @05:37PM (#9647781) Homepage
        And for those who would like the actual URL . . .

        http://bugzilla.mozilla.org/show_bug.cgi?id=1674 75

        Forgive me. I'm an idiot when I'm flamebait.
      • Re:A clear advantage (Score:5, Informative)

        by roca (43122) on Thursday July 08 2004, @05:55PM (#9647961) Homepage
        That is not a report of this or any other vulnerability. It's simply a suggestion for a change that would have provided a defense in case a vulnerability like this one was discovered. I agree we still should have done it, and hopefully will do it now...
      • RTFBR (Score:5, Interesting)

        by jefu (53450) on Thursday July 08 2004, @06:28PM (#9648197) Homepage Journal
        (Read the F-ing Bug Reports)

        Reading the bugzilla entries for this and related bugs (an earlier post has the bugzilla url for this bug) is interesting in itself.

        It shows that the developers well understood the security implications of the bug - but they were also trying to fit the browser into the MS scheme of things in which programs seem (I'm not a windows expert at that level) to be able to register protocols (shell:, vbscript:, irc:) that they get to handle. Disabling this in windows would then lead to Mozilla/Firefox behaving differently than they've come to expect.

        It was further pointed out that mozilla could require a "yes" click in a dialog window, but that that would lead to other security issues.

        Interesting reading.

  • by LostCluster (625375) * on Thursday July 08 2004, @05:24PM (#9647646) Homepage
    I can't help but think that this thread from earlier today [slashdot.org] can be seen as good news from a security context...

    Just how does Mozilla/FireFox think it's going to keep malware from tricking the users into granting permission when the clueless masses come over from IE?
  • by GMFTatsujin (239569) on Thursday July 08 2004, @05:26PM (#9647673) Homepage
    "Researchers are reporting another security issue in Web browsing under Windows"

    Sounds like a Windows problem, not a Mozilla problem. Oh, wait a minute...

    Current versions of Mozilla and Firefox pass unknown protocol handlers to the operating system shell to handle.

    Ding! Next. However:

    The attacker would have to know the location in the file system of the program

    So just in case, I'm renaming my /bin, /sbin, and /usr directories to /zurg, /mumph, and /splunge. Bring it, you haxx0rs!
    • by Telex4 (265980) on Thursday July 08 2004, @06:30PM (#9648210) Homepage
      The attacker would have to know the location in the file system of the program

      So just in case, I'm renaming my /bin, /sbin, and /usr directories to /zurg, /mumph, and /splunge. Bring it, you haxx0rs!


      Well now you've blown it!

      Hint: Security through obscurity requires obscurity.
  • Huh? (Score:5, Funny)

    by nettdata (88196) on Thursday July 08 2004, @05:26PM (#9647674) Homepage
    malicious persons are much more unlikely to target any vulnerabilites

    I disagree... if anything, malicious people are MUCH more likely to target vulnerabilities.

  • by Anonymous Coward on Thursday July 08 2004, @05:30PM (#9647722)
    This is NOT a firefox bug. It is a bug in an external protocol in windows - of which Mozilla calls. The fix is to disable ALL external windows protocols. (bittorrent, mirc, etc)
  • How dangerous Mozilla can be. Everyone should be listening to Microsoft and use a secure browser such as Internet Explorer that isn't littered with security vulnerabilities.
  • Update system (Score:5, Insightful)

    by supercytro (527265) on Thursday July 08 2004, @05:50PM (#9647915)
    Whilst it's easy to take pot-shots at Microsoft when it comes to IE, their update system isn't too bad. Firefox needs a easy to use mechanism for automatically retreiving and installing critical update, in a manner similar to MS windows update service.

    Even better, take a leaf out of Norton's liveupdate program.
  • Incorrect bug link (Score:5, Informative)

    by jesser (77961) on Thursday July 08 2004, @05:51PM (#9647918) Homepage Journal
    Eweek and Slashdot linked to bug 167475, implying that Mozilla developers knew about this hole in 2002. Fixing bug 167475 would have done approximately nothing to protect Mozilla users against the shell: hole in Windows, and that is why bug 167475 hasn't been fixed.

    The correct bug number for this hole is bug 250180.
  • Intentional (Score:5, Funny)

    by kyjello (566001) on Thursday July 08 2004, @05:51PM (#9647925)
    This is added intentionally so that Mozilla contains all of the features of Internet Explorer.

    Oh yes, that's right! I went there.
  • by Temporal (96070) on Thursday July 08 2004, @06:10PM (#9648076) Journal
    The developers considered changing from scheme blacklisting to whitelisting, in which case all schemes and protocols would be disallowed unless explicitly allowed.

    Duh.

    I have been saying this for some time now: Never use blacklists. Always use whitelists.

    If you forget to put an insecure operation on a security blacklist, you have a security hole. If you forget something on a whitelist, you just have an inconvenience.

    I am disappointed that the Mozilla developers did not have enough common sense to use whitelists in the first place. But then, it seems like most computer security schemes are blacklist-based, which explains why computers are so insecure.
  • by klui (457783) on Thursday July 08 2004, @06:32PM (#9648232)
    It's really not obvious when you go to Mozilla.org that there's a patch available. It should be on the right-hand-side instead of down in the middle of the page on the left-hand side. Also, mozilla.org/products/firefox doesn't tell you there's a patch available!! Hopefully, my email to its webmaster will help fix this soon.
    • by Carnildo (712617) on Thursday July 08 2004, @05:35PM (#9647764) Homepage Journal
      Strictly speaking, it's not an exploit in Mozilla/Firefox. It's a hole that can be used to access exploits in other software -- basically, it can turn what was a local exploit into a remote one.
      • by plj (673710) on Thursday July 08 2004, @06:09PM (#9648071)
        Yeah. But where is the auto-update feature for Firefox á la Windows XP, OS X, YAST or Up2date?

        Last weekend, I converted three people from IE6 to Moz FF 0.9.1, based on the facts that it's more secure than IE. And now I'm reading that it has a critical issue (whether it is a bug or not, but it is an issue). How to get their machines pached without my intervention? Where is that big red bouncing icon that appears when starting FF, which says that "you need to install this/these updates immediately to keep your machine secure"?

        Hello, FF developers! Critical FF updates are not found on windowsupdate.microsoft.com! [microsoft.com] Where is your own auto-update feature?
    • by sgtsanity (568914) on Thursday July 08 2004, @05:36PM (#9647776)
      The shellblock.xpi works to patch the 0.9.1 release. The only difference between 0.9.2 and 0.9.1 is that one of the preferences is a different value by default. So, if you have 0.9.1 already, there is no need to download the 0.9.2 release. You can just patch it using the .xpi link on mozillazine.
      • Re:bias (Score:5, Insightful)

        by azadam (250783) on Thursday July 08 2004, @05:43PM (#9647835) Homepage
        "A serious security flaw has been found. But don't worry, it's no big deal!"

        It's just frustrating to hear people whine about security via lower market share, but then excuse serious flaws using that logic when it's convenient.

        I don't, however, refute the point. I'm just of the camp that would prefer stories to at least feign subjectivity, and leave the opinion for the comments.
    • Is it still security hole in Mozilla????

      Yup. Because Mozilla, as a local application, has a much higher set of privs than a remote website does. This is basically taking code (high-level instructions, but code) from a known insecure zone and telling the OS to run it without any built-in safeguards. And what do you know: we have an exploit.

      Here's a fun example of how IE gets it right. Take the URI file:///c:/windows/system32/mspaint.exe from another example on this discussion. Type that into start/run on a Windows box - it works. Type it into the Address bar of IE - it works. Toss it into a webpage on the local machine and click on it - it works. Toss that webpage onto a remote server and click on it - it doesn't work any more. Different behaviors for different levels of trust. Mozilla defeats this by passing things to the shell with the same level of trust as the user has given it, the local program, which includes the (necessary) ability to mess with the filesystem.
      • by roca (43122) on Thursday July 08 2004, @06:00PM (#9647999) Homepage
        That's not a report of this vulnerability. It's a comment about a proposed change that might have prevented this vulnerability, had it been implemented. At the time, there was no known actual vulnerability that demanded the change.
        • by jesser (77961) on Thursday July 08 2004, @06:06PM (#9648046) Homepage Journal
          That's not a report of this vulnerability. It's a comment about a proposed change that might have prevented this vulnerability, had it been implemented. At the time, there was no known actual vulnerability that demanded the change.

          The proposed change wouldn't even have prevented this vulnerability. It would have increased the requirement to exploit it from "Get the victim to visit your site" to "Get the victim to visit your site and click a link".
      • As the other posters have said, all over, the bug was opened in Sept 2002. Not far from 2 years ago.

        As other posters have been mistaken, so are you. The bug linked to in the /. article is 2 years old, but the correct bug (250180) is one day old. Fixing the 2 year old bug would have only removed some of the methods of activating the underlying Windows bug, not all.

    • by CTho9305 (264265) on Thursday July 08 2004, @06:42PM (#9648287) Homepage
      RTFBug. Since MS decided programs should be able to register protocol handlers (e.g. irc://, telnet://), Mozilla behaves like a good little windows program, and passes any unknown protocols (shell://, vbscript://) to the OS. It's a flaw in the whole setup that windows uses here, and MS changed the behavior for XP SP2.