Slashdot Mirror


A Security Bug In Mozilla - The Human Perspective

xslf writes "Alex Vincent, the reporter of the data-loss security bug 259708, writes about the behind the scene process of reporting it, casting light on the problems of dealing with security related bugs reported by the community, which isn't always aware of the security implications of the bugs reported. The issues with the FLOSS process shown in this bug might get worse, once more and more people use FLOSS and add to the process, without being full fledged coders, and rely on binary releases of software." (Note, you'll have to copy and paste that link to view the bug report, or click through from the linked story.)

33 of 321 comments (clear)

  1. Don't link to bugzilla!!! by AKAImBatman · · Score: 5, Informative

    What are you trying to do? Shut down the Mozilla project?!? If you absolutely NEED to see the bug, go to MirrorDot and look it up there.

    1. Re:Don't link to bugzilla!!! by Anonymous Coward · · Score: 5, Informative

      What's the difference? They block referrers from Slashdot anyway.

    2. Re:Don't link to bugzilla!!! by stratjakt · · Score: 4, Insightful

      timothy, IT's prodigal douchebag, is kind enough to tell all the slashbots to copy and paste the link to get past the referrer problem.

      The editors here truly don't care, even when someone goes out of the way to make it clear they don't appreciate the rubbernecker bandwidth.

      --
      I don't need no instructions to know how to rock!!!!
    3. Re:Don't link to bugzilla!!! by AbbyNormal · · Score: 5, Funny

      Thanks for the mirrodot link. After finishing my fifth epileptic seisure from the pinstripes, I was finally able to read the bug.

      --
      Sig it.
    4. Re:Don't link to bugzilla!!! by dotlively · · Score: 4, Informative

      Blocking access to a page based on the Referrer header doesn't affect user-agents that do not send a Referrer header, such as Opera with the "Enable Referrer Logging" option turned off. I didn't have any trouble with the link in the summary.

  2. 3.5-year-old information disclosure and DoS by Jeffrey+Baker · · Score: 5, Informative
    Speaking of existing security bugs in Firefox & Mozilla, here's a security bug that's been open for 3.5 years and really needs some hero to come in and fix it. (The bug is assigned to me but I'm not qualified and don't have the time to come up with a real solution).

    Bug 69070

    The bug was on bugtraq in 2001! It allows remote pages to open and use files on the local machine, and is also a denial of service on Linux, since Mozilla stupidly allows the opening of paths which are not regular files (/dev/tty).

    My experience with 69070 has been educational. I've learned if there's a security bug you care about, you had better fix it yourself. Unfortunately I can't but maybe someone in the audience has the spare time to step up.

    1. Re:3.5-year-old information disclosure and DoS by TrollBridge · · Score: 4, Insightful

      But I thought the very nature of OSS makes this sort of thing impossible. What did I miss?

      --
      There's a Mercedes gap too. I want one and can't afford one, but it's not government's job to do anything about it.
    2. Re:3.5-year-old information disclosure and DoS by The+Bungi · · Score: 5, Insightful
      Interesting. People around here bitch about Microsoft having these "dozens" of "unpatched vulnerabilities" in IE for "years" and "hiding, lying" and "sitting on security issues" and here's a three year old bug in the darling of open source development, who also has a "security classification" for certain bugs that "should not be disclosed" until they are fixed. But it's OK for some dude to publish an IE vuln without first contacting Microsoft and giving them a chance to fix it (which they have been doing very diligently for the past two years), in fact it's fantastic because it makes Microsoft (or "M$") look all the worse. But if it's Mozilla, it's perfectly acceptable. The recent GUI spoofing vuln (related to XUL, I believe) published a few months ago also had a "security classification" and was at least three years old, IIRC. But that's OK, because it's Mozilla.

      Fantastic. Talk about having your cake and eating it while telling everyone they can't have any.

    3. Re:3.5-year-old information disclosure and DoS by Anonymous Coward · · Score: 5, Informative

      "It allows remote pages to open and use files on the local machine"

      You make it sound like it allows remote servers to open and use files from the local machine. In fact what it allows is remote server to cause the local machine to open files locally, which is a different thing altogether.

      It still should be fixed, but it's only a DoS, not a remote-execute or a remote-data-access.

    4. Re:3.5-year-old information disclosure and DoS by daserver · · Score: 5, Funny

      You could just have written: hypocrite :-)

    5. Re:3.5-year-old information disclosure and DoS by julesh · · Score: 4, Insightful

      That Mozilla has a _huge_ number of bugs, many of which have existed for a number of years, a lot of which probably won't be fixed any time soon. Those working on the project don't generally care about them enough to fix them -- this is, after all, "only" a denial of service bug (note: I'm not condoning or excusing this behaviour, just saying that this is how a lot of people think).

    6. Re:3.5-year-old information disclosure and DoS by mdfst13 · · Score: 4, Insightful

      "not ... a remote-data-access."

      According to comment 58 in the bug report: "Given that this vulnerability actually allows sites to do useful things like steal passwords, I feel that we should address it ASAP."

      This bug allows the browser to open and access a local file. The information about the file can then be sent to a remote site with some basic javascript. How is it not a remote data access again? The DoS issue is not good, but the file opening is worse, particularly if someone figures out a way to get the contents of the file rather than just the characteristics.

    7. Re:3.5-year-old information disclosure and DoS by CaptainABAB · · Score: 5, Insightful

      "I might lose my $HOME"

      Please tell me why losing all the documents/files/data you personally created is better then reinstalling an OS/apps, which are available on CDs and the net?

      Hopefully, you have a good back-up plan, but my personal files are 100x more important then any 3rd party binaries.

      IMO - both situations are equally terrible.

    8. Re:3.5-year-old information disclosure and DoS by The+Bungi · · Score: 4, Insightful
      Think about how IE is different in this manner.

      It is not different. If more people stopped running under an administrator account the great majority of IE vulnerabilities would result in the same thing. Most email worms would as well.

      You can happily run under a non-privileged account in Windows NT4 and higher. The opearating system has supported it for at least eight years. That most applications break under such a scenario is Microsoft's fault to a certain extent, but not entirely so. Software vendors are just too lazy to code that way and they assume that they have the go of the entire machine.

      I would like to point another type of hypocrisy however - whenever there's a bug in a Microsoft product that is not "critical" in the sense you use, the slashbots come out of the woodwork claiming it's the end of the world yet again. But a bug in Mozilla that wipes out ~/ is OK, because it's "not critical". Do you really think it's "OK" for the average user to see their files wiped while /sbin is untouched? Tell you what: they would not. They'd rather have to wipe the machine and see it turned into a spam zombie than lose the vacation pics and whatever else they have under there.

      The problem with your assesment of this problem is that you say "user" and you're thinking about a developer or a sysadmin (in a corporate environment perhaps) with nightly backups and whatnot. In that scenario this bug is a nuisance. In reality it's a disaster.

    9. Re:3.5-year-old information disclosure and DoS by sydb · · Score: 4, Informative
      It's a DoS on Linux, probably *n*x. A page has a
      <img src="file:///dev/tty">
      tag in it and it swallows your console, i.e. your keyboard stops working.

      Trust me, I just tried it and if I didn't have gtop (to kill Firefox with my mouse - exiting from the file menu didn't kill the process) I'd have had to hit the power switch.

      Ouch.
      --
      Yours Sincerely, Michael.
  3. I will save this bugtrack for later reading.. by Tei · · Score: 5, Funny

    Opps.. where are ALL my precious precious downloaded files?

    --

    -Woof woof woof!

  4. Re:Looking for blame in all the wrong places by mobiusjava · · Score: 5, Insightful

    Um, that seemed to be the whole point. Again and again throughout the article he does a mea culpa. At the same time, I believe his general frustration with not knowing how to proceed comes through. We in FOSS need a more concrete process on how to handle bug through the system. And even very successful projects, like Mozilla/FireFox, can do a better job at communicating the way to handle these types of situations.

    --
    Gotta find my destiny, before it gets too late --Ian Curtis
    http://www.shadowpublications.com/blog
  5. Re:My experience reporting bugs.. by kmmatthews · · Score: 5, Insightful

    Wait a sec, you're bitching that they won't pay you to work for them, when you don't pay them for thier product?

    Holy hypocrisy...

    --
    feh. stuff.
  6. There's that FLOSS word again by h00pla · · Score: 5, Funny
    I really hate that acronym. FLOSS reminds me of brushing and FLOSSing (ie - picking the crap out from between your teeth). Is it really too much to ask to write out Free and Open Source software or how about Free/Open Source software? I can just see what's next - we'll be referrring to some development process as ENEMA.

    Acronym loving developer: I advocate the use of FLOSS and if it's with ENEMA, all the better.
    CIO: You're fired.

    --
    I've been swashdotted -- Elmer Fudd
  7. Yes, you are... by Roadkills-R-Us · · Score: 5, Insightful

    Hmmm. That's a rather difficult conclusion to reach if you really read the article and think about it. Alex accepted the blame where he messed up, and noted other places he wasn't sure about.

    The fact is,the other person should not have reposted someone else's blog entry without permisison.

    The article was quite insightful. Hopefully it will lead to a better process.

  8. IAAPST (I am a professional software tester) by Anonymous Coward · · Score: 5, Insightful

    This guy made the #1 mistake you can make when it comes to bug advocacy. He assumed his bug was more important than all the others. It had to be fixed now! Now! Now! Now!

    Which can be entirely correct, but you don't get anywhere by running around like chicken little trying to make everybody look at your bug. They heard you the first time. If you don't have any new substantive information to give them, sit back and relax. People never respond to selfish requests well. It can even discourage them from taking a look at it.

    1. Re:IAAPST (I am a professional software tester) by joey · · Score: 5, Insightful

      Bugzilla seems to encourage this with its system of various ways of voting on a bug, which encourages users to advocate their pet bug in order to get it fixed. I've seen this advocacy spill over into projects that don't use bugzilla recently, and IMHO it just causes a lot of distracting noise.

      --
      see shy jo
    2. Re:IAAPST (I am a professional software tester) by jesser · · Score: 4, Interesting

      Allowing votes might encourage "advocating" bugs, but at least the noise is in forums and in vote counts, not in bug comments. And since I seem to be the only person working on Firefox who looks at vote counts, noise in vote counts isn't a big deal. (I use vote counts to speed up searches for common/popular bugs, and sometimes to decide what to work on.)

      --
      The shareholder is always right.
  9. Re:Looking for blame in all the wrong places by Tor · · Score: 4, Insightful

    As he tried to convey in the article, the issue is not whether he can be faulted or not (and indeed, he can; then again, you can expect that many/most bug submitters would make "mistakes" like these).

    The quote, however, deals with someone who submitted for his weblog a word-for-word copy of his original bug report, without any comments, return address, or source. That goes a bit beyond useless and unhelpful, IMHO; that borders on disrespectful. At the very least, as he is saying, if that person indeed wanted full disclosure, he should point to where he found the copy of the text, so that the Mozilla security team could be made aware of it.

    Overall a well written article, certainly a lot more thoughtful than your comment.

    -tor

  10. smart defaults by osssmkatz · · Score: 5, Insightful

    This bug was a security bug in part because Firefox 1.0 changed the default download directory so that downloadable files were saved directly to the desktop.
    Microsoft is always criticized for having bad defaults. In this case, having the default download directory be the desktop was a bad default. I would argue that you wouldn't neccessarily do bad to create a folder for each downloadable file. No one would be annoyed by that, and it would provide protection in the file system for any future holes.

    You could also have a "recently downloaded files" directory on the desktop. Even a shortcut to "Location of downloaded files". Mozilla has been known for its innovation. Using the desktop is not innovative--the desktop should never be a permenant storage location. Everything Microsoft puts there is a shortcut.

    I also question whether it was wise to change or set defaults in a "1.0" milestone release.

  11. My impressions of the Mozilla project by jd · · Score: 4, Insightful
    I've honestly not heard too many good things about Mozilla. Oh, the team is certainly bright, and they have produced an excellent browser, but the politics are hairy and some of the coding quality isn't what I'd expect.


    First off, if someone reports a bug, it should be ASSUMED that there is a potential security issue there, until proven otherwise. Why? Because there are generally side-effects. Even if the bug doesn't directly do anything nasty, it may very well cause something unintended which, in turn, causes something else unintended, and so on. Programmers generally talk of such effects "cascading" or "snowballing", because the effects usually do build up over time. Sooner or later, this will result in a corruption of data, a program crash or an exploit due to insufficient value checking.


    There are two classes of bugs in a computer program. Those that cause the program to crash, and those that don't. The second type are much harder to track down (because you've no real indication of where the problem started), but they are generally much worse and much more prevelent.


    The "correct" way to handle bugs is to assume that (almost) any problem puts the software at risk of a non-fatal bug that could (eventually) destabilize the program or open an exploit. Spelling errors in text messages are probably OK, but even there, if you're placing them in fixed-length buffers, it is saner to check and be sure that the risks are low than to ignore apparently trivial "appearance" stuff that could be catastrophic. I've seen programmers give themselves buffer overflows, I've even seen programmers rely on certain OS quirks when an overflow occurs. The code may not be portable, and it sure as hell isn't safe, but it does work.


    (I've actually seen some code that won't run, unless the debug flag is present. The code will actually segfault if the extra padding the debug data creates is not there. Not from the Mozilla team, this was in a prior place of employment, but it does demonstrate that coding is not just about making something "work" it's about making it work for the right reasons.)


    Now, the Mozilla team is probably simply too small to regard every bug entered in their database as a potentially critical show-stopping security hazard. This, however, reflects more on the userbase than on the Mozilla folks. Open Source works if, and only if, the "lots of eyes" out there looking for problems also translate into "lots of hands" for fixing problems.


    Sure, not everybody is going to be a coder. So? If a mere 1 in every 100 users took the time to chase down not only the bug as seen, but at least some of the prior bugs that that bug depended upon to do anything at all... Mozilla would be in a lot better shape.


    Politics in projects don't help. GCC and Glibc suffer badly from a management style that can be diplomatically summed up as "Old-Style IBM without the money - or the justification". There's a lot of "Not Invented Here", "Somebody Else's Problem" and "It Works For Us", although the GCC team is apparently a lot better than it used to be.


    The moment any project suffers from any of those three things is the moment that it is under a self-imposed sentance of death, to be carried out the moment a better alternative arrives, where the only possible hope of a reprieve is to tackle those attitudes and eliminate them.


    9 out of every 10 security bugs are caused by a fault in attitues, at the time of coding or later, and not by any fundamental nature of computing.


    BTW, this is off-topic, but biologists and geneticists are mourning the passing of one of the three scientists who discovered the structure of DNA. The BBC is reporting the death of Professor Maurice Wilkins, aged 87. He died in hospital, no cause was given.

    --
    It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
  12. hiding previously public bugs does not work by joey · · Score: 4, Insightful

    I'm flabbergasted that the mozilla security people seem to think that "hiding" a previously public bug after it's noticed that it has security ramifications is an effective way to keep black hats from noticing it.

    I think it's safe to assume that black hats interested in finding 0-day security holes in mozilla have already, or soon will create a mirror of the bugzilla archive, with history. Then they can look for bugs that are suddenly removed from the public bugzilla archive, and have some very good candidates for fresh security holes.

    And there's no way the mozilla security people can effectively combat this. At best they get into a technology arms race with the black hats, trying to figure out what techniques they're using to spider and mirror the archive.

    Once a bug is posted to a public bug tracking system, even if it's only been there for an hour, you might as well give up and assume it's widely publically known.

    Oh and in my personal experience, the best way to get a security bug fixed once you discover it is to immediatly write an exploit, clearly flag the bug as a security hole, and post it to a public forum with a sifficuently broad readership that someone in a position to fix the bug will, be that the project's BTS or bugtraq.

    --
    see shy jo
  13. Give us CHROOT! by freelunch · · Score: 4, Interesting

    Running Mozilla or Firefox in a chroot environment would greatly enhance security.

    I recently tried to get this working but didn't have much luck (haven't given up yet). There isn't much info on the web.

    I currently run Firefox under a separate user ID, which is better than the default.

    Any suggestions to get chroot working with Firefox?

    1. Re:Give us CHROOT! by pe1chl · · Score: 4, Informative

      > Running Mozilla or Firefox in a chroot environment would greatly enhance security

      Of course it would not have helped in this case.

  14. Re:My experience reporting bugs.. by d_jedi · · Score: 5, Informative

    Wow.. one post, so much criticism. I honestly haven't experienced that on /.

    Guess it's not a good idea to criticize Mozilla developers ;p

    OK.. allow me to respond to all of the replies in one post.

    1) Bug reports = good. Insulting bug reporters = bad.

    As a developer, I'll tell you that having your customers report bugs to you is a GOOD THING. Something that you want to ENCOURAGE. There is no amount of alpha or beta testing that can substitute for real world use. However, I've been encouraged by this experience to very much just "shut up and take it or leave it" (paraphrasing from one of the more colourful indignant replies I alluded to). I'm not going to report more bugs if this is the response I'm going to get to them. Which is a BAD THING for the Mozilla project.

    2) Encouraging and reminding developers = good.

    Developers are human beings. They can forget, get distracted, etc. And like all people, sometimes it's a good thing to remind them of outstanding issues. Perhaps they forgot about it? Perhaps they've completed the task, but haven't checked it in? Perhaps the guy responsible for the bug has too much work on his plate, but is reluctant to say so without being prodded.

    Certainly, a post every few days asking if the bug's been fixed is just about as annoying as "are we there yet?" queries on car trips with children. But that was not the case here.

    3) There ARE paid developers working on Mozilla

    Most of them work for Netscape. I wouldn't doubt if there were contract workers as well. Personally, as an independant developer, I don't have the time or resources to program if I'm not being compensated for it. The question was asked why I don't fix it myself, and I gave a truthful answer. As a result (as here on /. ) I was flamed.

    I hope this clears up any confusion.

    --
    I am the maverick of Slashdot
  15. Actually, things went really well. by dwheeler · · Score: 5, Insightful
    The author makes the process (from the user point of view) sound much worse than it really was. Was this a bad bug? Of course, all agree that dataloss is a terrible thing. But:
    1. this was immediately marked as a blocker, so the official (initial) release of Firefox was NOT going to go out with this bug, anyway, no matter what.
    2. once it was identified as a security issue, it was fixed within a half hour, even though it was an incredibly difficult bug to find (3 project developers had tried and failed).

    Yes, ideally all bugs are fixed even more rapidly. But originally this wasn't marked as a security bug, and nonsecurity bugs often take more time to fix than you'd wish in any development process:

    1. The bug appeared to be an extremely unlikely occurance, and thus while important to fix before release, it's not clear that the delays were in any way unusual for ANY development project. Although it had bad ramifications, it's also clear that triggering this accidentally is extremely difficult. None of the millions of users using Firefox had reported it before, and previous versions have been out for a while. The priority of a bug doesn't just depend on the severity of the problem, but on the likelihood. If a dataloss can happen 1/day, that's much more serious than one that happens 1/millenium. For extremely unlikely triggers, it's not at all unusual for those to take longer to correct in either proprietary or open source software. In part that's because of the difficulty of tracking down such uncommon problems to their source.
    2. This was obviously a hard bug to fix. Three people tried to find the bug, and couldn't do so. The author wishes that even more people would've worked on it in the early days, but all projects have a limited number of people and much to do. Heck, in most proprietary projects, you assign only one person to handle the bug, and that person has 100 other assignments too. He had three people directly working on it, with discussion by others... that's far more help than many projects get.

    What changed everything was marking it as a security requirement. Here I agree with the author - the author should have identified this as a security problem in the first place. And I'm really sympathetic to his sitatuation; we all make mistakes, and at least he reported the bug in the first place. Thankfully, a later reader DID realize this, and raised it to a security issue. As a security issue, suddenly the "unlikely" problem becomes "near certainty" since an attacker WANTS to cause trouble, and will work to cause the unlikely to happen.

    And once it was labelled as a security problem - look at the speedy response! It was fixed in less than a half hour - that's extraordinarily fast in any software development process, OSS/FS or proprietary. It's even more amazing because the problem was in a completely different place than 3 previous developers had thought... so this was clearly not an easy bug to find and fix (at least for most project developers).

    And Firefox is still at the "previous release" level, it's not even officially released! I routinely use Mozilla and Netscape, not Firefox, because Firefox THEMSELVES state that the product's not ready. When they say it's ready, I'll let other people try it out first; version 1.0s are often a little wet behind the ears (remember Windows 1.0? Probably not, and there's a reason for that). But once Firefox 1.0 is out for a little while, I'll probably switch to it; it looks really nice. Obviously a lot of people

    Getting ansy about taking a little extra time to find a non-security bug, when the product can't be released til it's fixed anyway, and it's hard to fix, seems a little excessive.

    The process issues he raises are interesting issues, and they're certainly worth addressing. E.G., how do you "make secret" that which is already public? But I'm sure there are many possible answers; discuss, pick one, and move on.

    --
    - David A. Wheeler (see my Secure Programming HOWTO)
  16. The headline makes me laugh by wazzzup · · Score: 5, Funny

    Today's Headline - A Security Bug In Mozilla - The Human Perspective

    Tomorrow's Headline - A Security Bug in IE - Sweet Jesus, Microsoft Fucking Sucks Yet Again

    Don't worry, I hate Microsoft too ;o)

  17. Re:Hypocrisy by The+Bungi · · Score: 4, Interesting
    Now, this is a problem because many Windows users use versions of Windows which are obsolete: 98SE, ME, 2000. When Longhorn comes, this trend will of course hold true: people don't rush to the stores to buy the newest Operating System version. This means that people will be using still old versions of MSIE long after IE7 comes, which will, of course, be unsupported by MS because they don't want to trail support for 5 or 10 different versions of a single product

    I don't contest what you're saying, and personally I think it's a bad idea from Microsoft, assuming it actually happens. But I find this argument quite interesting.

    Let's assume for a second that Mozilla becomes the most widely used browser in the world (for whatever operating system). 100 million people download and install it. And then someone finds another serious vulnerability with it. The Mozilla folks patch it. Then what? 20 million people upgrade, and 80 million don't. What then? The exploits come. How does Mozilla handle this? Because they're going to have exactly the same type of problem Microsoft has today: people who just don't give a damn if their computers are turned into spam zombies or get bogged down with malware. These are the people from whose machines you and I still get those stupid mass-mailing worm messages, and of course spam.

    Mozilla can very well damn rewrite the entire Gecko codebase and it will do them absolutely no good. Just like Microsoft with IE. With the small distinction that Microsoft does still support three versions of IE, while Mozilla likely won't even go there.

    Today you can find thousands of Linux machines out there that have year-old holes in Sendmail, SSH and the kernel itself. It's just that very few of them are being run off Comcast cable modems and virus writers just don't see much value in taking them over. It's no different from Windows.

    Even if Microsoft decided to bite the bullet and support seven versions of IE, I doubt it would do much good. What they can do is "force" users to upgrade to minimize the problem, which is what people around here call "the upgrade train" and is exactly what RedHat started doing with their corporate customers because support costs are prohibitive. And that's what Mozilla will have to do ("we don't support version X anymore, sorry. Upgrade to Y now!") because there's no other way to approach it.

    And BTW, the fact that some obscure company decided to "support" older versions of RHEL means nothing in the desktop/home user space, so "having the source" is useless.

    The people who write free software seem to think they can engineer all these problems away by writing "cool code" and making it "absolutely secure" from the get-go. That's not going to happen. They're still finding bufer overflows in Sendmail, for crying out loud. No, they're going to be in the same situation as Microsoft is today and they're going to get the same beatings left and right. I really hope I get to see that, if only for the chuckles.