Slashdot Mirror


Serious Vulnerability In Firefox 2.0.0.12

Oh, Not Now writes "Mozilla Firefox 2.0.0.12, mere hours old, is vulnerable by default to a directory traversal trick, via the view-source mechanism. Although mitigated by the NoScript plug-in, this is quite a serious bug — the default installation is vulnerable from the get-go."

44 of 355 comments (clear)

  1. Damned it all by Overzeetop · · Score: 4, Insightful

    Just before I opened this session, I had upgraded.

    Oh, well, just one more unlocked door in the grass hut I call a computer.

    --
    Is it just my observation, or are there way too many stupid people in the world?
    1. Re:Damned it all by Nazlfrag · · Score: 5, Informative
  2. Re:* Stops download of newest Firefox * by webmaster404 · · Score: 5, Interesting

    Also, one thing that I have noticed about OSS bugs is that those severe enough to cause execution of code, there are very very few utilities to easily attack systems unlike their MS counterparts. Most OSS flaws are rarely exploited in the wild. The only thing that annoys me about them is that someone will surely come up to me on Monday stating how bad Firefox is because of this while blissfully ignoring all the flaws that Windows/IE has had for years.

    --
    There is no "disagree" moderation, and troll, flamebait and overrated are not valid substitutes
  3. Payload by milsoRgen · · Score: 3, Informative
    So my I understanding is that this vulnerability can be used to read the host computer, and...

    Other issues can emerge also, this is only a short-hand proof of concept. I'm just curious if this could be eventually exploited to actually alter data on the affected host?
    --
    I'm sick of following my dreams. I'm just going to ask where they're goin' and hook up with 'em later.
  4. NoScript by bazald · · Score: 5, Interesting

    Why isn't NoScript just a mandatory extension at this point? It seems like it would be pretty unobtrusive with default settings at a slightly reduced paranoia level.

    --
    Insert self-referential sig here.
    1. Re:NoScript by milsoRgen · · Score: 3, Interesting

      Why isn't NoScript just a mandatory extension at this point? I wouldn't be surprised if it becomes a part of the browser (or something like it), just as pop-up blockers of yore have been incorporated.
      --
      I'm sick of following my dreams. I'm just going to ask where they're goin' and hook up with 'em later.
    2. Re:NoScript by ilikepi314 · · Score: 5, Insightful

      Because most are not educated how to use it properly yet. It's terrific, but I know firsthand from trying to introduce it to people that they ignore it, realize many of their websites are broken, then I say "Well, you can allow certain websites you visit with this little button" -- they then promptly pick "Enable Globally" (or simply whitelist every single site they ever visit), and it has no effect.

      So instead of teaching people security, it just teaches them "Security is annoying and breaks everything, what's teh point?" and they want to use it less.

    3. Re:NoScript by Firehed · · Score: 5, Insightful

      How would it work at a slightly reduced paranoia level? There are, I suppose, for options: block everything, block nothing, block off-site scripts, and only allow trusted scripts (somehow including a database of checksums of widely-deployed, known-safe scripts like Google Analytics' urchin, jquery, Amazon affiliate stuff, and... that's all that comes to mind). Foreign scripts aren't going to cause any damage unless the site itself is vulnerable to XSS attacks - malicious websites aren't likely to off-site the scripts. A database of the known acceptable scripts would be so minimal that it would defeat the point, especially as so few of them are of any benefit to the site visitor. Unless a built-in NoScript were to block specific functions in Javascript that could be used for malicious purposes (anything other than strict DOM manipulation, I suppose), it wouldn't do much good - and breaking half the JS on a site is probably going to be much worse than breaking everything.

      --
      How are sites slashdotted when nobody reads TFAs?
    4. Re:NoScript by mrsteveman1 · · Score: 5, Insightful

      If it became part of the browser, 3 things would happen: Idiots would scream and cry about being forced to use it, it would integrate better making it more effective, and vulnerabilities like the one referenced here would be a non-issue for a much larger percentage of the user base.

      Seriously, running every script a page stuffs into a browser should not be the default, and it should not take an extension to fix it.

    5. Re:NoScript by 93+Escort+Wagon · · Score: 5, Insightful

      Why isn't NoScript just a mandatory extension at this point? It seems like it would be pretty unobtrusive with default settings at a slightly reduced paranoia level. Well, to tech-savvy users this would be true; but unfortunately most users aren't even marginally tech savvy. It doesn't matter if NoScript puts up a clear, unambiguous giant flashing red sign that says "This site will have reduced functionality because we're blocking some scripts from running. Click here if you really want to run all these scripts" - based on past experience, most people will just be positively flummoxed and won't have the foggiest idea why some sites are now "broken".

      The thing is, looking at it from the designer/developer end, most users seem to want the functionality Javascript provides. My job largely consists of designing "intranet" apps for a university department. With forms, the end users want the ability to click a button or link to add extra fields when necessary. They want web-based calculators that figure out totals and percentages automatically. They like little explanatory pop-up boxes that define terms for them if they don't already understand what it means. They prefer drop-down menus that change, based on choices made further up the form.

      I realize that NoScript actually allows white-listing for situations like this (just like IE does for ActiveX, God bless 'em) - but I don't have much confidence that non-technical end users will understand, even with training. Making NoScript or a similar tool the default will end up meaning significantly more of my time being wasted dealing with support calls - after all, if the web's broken you don't call the desktop support people, you call the webmaster, right?

      (BTW is Firefox 3.0b2 or b3 vulnerable?)
      --
      #DeleteChrome
    6. Re:NoScript by milsoRgen · · Score: 4, Funny

      On a similar note, I would not mind integration of Adblock Plus. Shhhhh! Once sites learn more and more people are blocking ads, they are going to move on to an even more insidious manner to deliver screaming, moving obnoxious hobbknobbery to our computers...
      --
      I'm sick of following my dreams. I'm just going to ask where they're goin' and hook up with 'em later.
    7. Re:NoScript by SJS · · Score: 4, Interesting

      ... (somehow including a database of checksums of widely-deployed, known-safe scripts like Google Analytics' urchin, jquery, Amazon affiliate stuff, and... that's all that comes to mind)

      Why is everyone in love with checksums?

      Disk is cheap. The amount of scripting I should trust is small.

      So cache the *actual* scripts... and then use those as keys into what scripts are actually run.

      That is, when you first hit a website that tries to run a script, capture all of the script functions and fragments, and indicate to the user how many un-approved scripts are on this page. The user than has the option to say "Trust this set of scripts" (like noscript now), or "Let me look at these scripts."

      And this is where the fun can begin.

      The browser can present to me a list of script functions and fragments, each with a "allow", "deny", or "remap" option. Allow is just that -- allow that script function or fragment to be run as-is, temporarily or for that page, machine, or domain. Deny is just that -- deny that script function or fragment, again, for that page, machine, or domain.

      For remap, however, I should get a little two-window/textarea display (top/bottom, left/right, don't care, should probably be the user's choice), one read-only (the key) and the other editable. I can then edit the second chunk of code as I please -- stupid client-side verification, gone, replaced with "return true;". Code that disables a feature, deletes information from the display, and so on and so forth... gone. The test for browser/os versions... gone. Bugs become fixable. (Sure, I might introduce bugs, but that's my own fault, and it's my browser anyway.)

      Most folks wouldn't ever use "remap" in this way, but that's okay. The ability is there, just like most folks don't compile open-source programs from scratch. That's not the point... if they wanted to, they could.

      The next step is to share remapping libraries, like people are sharing greasemonkey scripts now. I could get a call from my mother about how some website is broken to how she'd want to use it, and I can go look at the web-page, fix it, export my changes to some convenient archive, drop it on to my webpage, and then send the url to my mother, who can click on the archive, and have the browser ask "Do you want to install this?", click "Yes", and all is well in the world.

      Sure, some websites will take steps to make every bit of client-side scripting unique for every connection. They'll obfuscate their code, randomize the variable names on a per-session basis, mess with the structure... and now you KNOW those websites are hostile and malicious and should be treated as such.

      Don't bother with checksums, that doesn't put any power into the hands of the users. Track code, and allow for client-side replacement of code. Allow end-users to share their code-replacement libraries. We can kinda-sorta do that now with plugins and greasemonkey, but that's tricky and error-prone and tedious. Let the computer solve the problems that are tricky, or error-prone, and especially the problems that are tedious!

      --
      Pick One: http://www-rohan.sdsu.edu/~stremler/sigs/sigs.html (Note - disable Javascript first!)
    8. Re:NoScript by 93+Escort+Wagon · · Score: 5, Insightful

      So because you decide to use the browser as some sort of generic code execution engine and GUI for your own hacks instead of writing your programs to run as a real application like everyone else, people browsing the web should remain a target for javascript abuse, bloat and exploits.

      It's not 1994 anymore. People don't just work on their own discrete data sets living on their own desktop computer now. People use webapps because the information is often centralized in places such as MySQL databases, and numerous different people need read and/or write access to it for differing reasons depending on their job function.

      The "real" applications (gotta love that required platform lock-in, btw) you talk about would still need access to that centralized data. So you pick your poison - do you provide direct access to that central data repository for a wide number of computers, or do you limit access just to connections from a web server (which is then open to that wide number of computers)? Personally I'd rather keep as much insulation as possible between that back-end data and the rest of the world.
      --
      #DeleteChrome
    9. Re:NoScript by the_womble · · Score: 4, Interesting

      Exactly, the average users reaction would be: Internet Explorer (or "the normal internet" as I recently heard it called) works on this site, Firefox does not, so Firefox is broken.

      The minority who can cope with those sort of settings can manage to install an extension.

  5. Re:* Stops download of newest Firefox * by De+Lemming · · Score: 4, Informative

    As far as I understand, versions before 2.0.0.12 are also vulnerable...

  6. Re:* Stops download of newest Firefox * by LiquidCoooled · · Score: 5, Insightful

    Why stop downloading it?
    I cannot work out from the article whether older versions of Firefox are vulnerable or not.
    If its an unfixed bug from previous versions you should continue to download.
    Which would you rather:
    have 20 known vulns in the wild (stay as you are),
    have 1 known vuln wild (latest update).

    Until we can be certain though, just click pause ;)

    --
    liqbase :: faster than paper
  7. or just visit sites you trust by hcmtnbiker · · Score: 4, Insightful

    That's right, back to the drawing board with this one. In the mean time you can either use another browser, or install the NoScript plugin to mitigate these issues. Or you can take the first step like you always should, and not visit sites you don't trust. Vulnerabilities always exist, betting that the developers will find them before someone else can exploit them is not a smart thing to do. Visiting only sites you trust will keep you away from people who want to compromise your computer 99.99999999% of the time, it really is the best thing you can do it terms of browser security.
    --
    If i had one dollar for every brain you dont have, i would have $1.
    1. Re:or just visit sites you trust by Beryllium+Sphere(tm) · · Score: 4, Informative

      >Visiting only sites you trust will keep you away from people who want to compromise your computer 99.99999999% of the time

      Assuming that the sites you trust haven't been compromised, this still leaves out the serious problem of attack code inserted into advertising.

    2. Re:or just visit sites you trust by 11223 · · Score: 4, Interesting

      Or you can take the first step like you always should, and not visit sites you don't trust.


      Ever use an open 802.11 access point? Ever been redirected to a legalese page before being allowed onto the internet? Now what if that page had the exploit in it? For added fun, imagine the hotspot isn't malicious but there's an attacker on the network using a rogue DHCP server to feed you a bogus set of DNS servers.

      People assume that their web browser is a trusted execution environment. Vulnerabilities which affect the browser are worth caring about for that reason.
    3. Re:or just visit sites you trust by saleenS281 · · Score: 3, Insightful

      If the sites you trust have been compromised, no script isn't really going to help now is it? People tend to whitelist sites they trust...

  8. nifty trick by Deanalator · · Score: 5, Informative

    It makes me happy that this type of vulnerability is what we call serious these days. If you remember, just a couple of years ago microsoft was downplaying the WMF vulnerability. It was not considered "critical" because the target needed to manually visit a malicious website for the attacker to take over the target machine.

    While this is a really neat find, and I am glad that it will be patched pretty soon, I don't think it is quite at the level of "sky falling" etc. From what I understand, an attacker that can execute javascript in your browser has the ability to read any file in the targets mozilla directory. This worst that I think an attacker could do would be to grab your stored password file. While this is definitely something to be concerned about, the headline had me pretty worried :-)

    1. Re:nifty trick by Anonymous Coward · · Score: 4, Informative

      Actually they can't even get your stored passwords. They can only get files in "C:\Program Files\Mozilla Firefox\" which consists of nothing related to stored data, except for the greprefs folder, which isn't even YOUR preferences. From the looks of it, it's what a default Firefox profile gets stuck with. So, this is a pretty lame exploit, definately not serious, you can't access outside of the Mozilla Firefox directory from the looks of things.

  9. Re:* Stops download of newest Firefox * by sundarvenkata · · Score: 3, Insightful

    But but.....don't many eyeballs watch the mozilla codebase?

  10. Re:Fixed is hours! by BasharTeg · · Score: 3, Insightful

    You gotta love Firefox apologists. They can turn a complete failure on behalf of Firefox development and release engineering into a discussion about how Microsoft is horrible and IE fails.

    You're living in the past. Everyone knows IE6 was horrible. I'm running IE7 under protected mode. If you're going to talk shit, at least talk shit about current software. People who spend their time talking about how Windows 98 crashed a lot, IE5 and 6 were really insecure, and IIS 5 was the fastest way for a computer to get hacked on the net, are really starting to sound tired and sad. When we're running Windows 7, Internet Explorer 8.0 in Protected Mode, and IIS 7.0 on Windows Server 2008, fools like you are still going to be apologizing for every bug in by bringing up bugs from Microsoft products 5+ years ago.

    And even if IE6 was the most horrible browser ever and they waited for "moths if not years" for patches, how does that make this Firefox vulnerability any better? If IE6 is so bad, why is it your example for trying to minimize this Firefox vulnerability?

    Microsoft products are getting better. Deal with it. Quit living in the past.

  11. saved passwords by robo_mojo · · Score: 4, Insightful

    Does anyone still think that it's a good idea to permanently store your passwords in your browser?

    1. Re:saved passwords by Nazlfrag · · Score: 3, Funny

      There's this thing called carbon-based memory I use from time to time. Efficient, portable, unfortunately it is easily broken by Johnny Walker and co.

  12. Re:* Stops download of newest Firefox * by bunratty · · Score: 4, Insightful

    Sure, and some of those eyeballs wait until just after the release of a new version to announce they know of a security vulnerability just to draw attention to themselves. Open source does help security bugs to be found, but it doesn't magically keep the finders from blabbing to all hackers worldwide exactly what the problem is and how to exploit it.

    --
    What a fool believes, he sees, no wise man has the power to reason away.
  13. Re:Who cares? Use Opera by FudRucker · · Score: 3, Informative

    Opera is closed source so you have no idea what vulnerabilities are in it...

    --
    Politics is Treachery, Religion is Brainwashing
  14. Corporate sites by Overzeetop · · Score: 3, Insightful

    There are quite a few corporate sites which incorporate flash to "enhance" their site, and there are some sites which won't even let you in unless you pass the flash-only home page. If you don't have flash, they don't want your business. (At least, that seem to be the opinion of the web IT staff, I haven't contacted corporate to see if they agree with that assessment). As for examples, Bath & Body Works used to be that way (I emailed them, they are no longer flash-limited...I don't believe those two things are linked, though). Rainforest Cafe is another. BBW didn't get my business back then, and Rainforest missed out on a dinner guest recently - I couldn't find their location, and couldn't use my mobile browser to get to their page. Will they care that they probably lost less than $100, of course not. But it certainly would have been nice if they wouldn't have had a "no flash, no service" sign out front.

    --
    Is it just my observation, or are there way too many stupid people in the world?
  15. huh? by jelle · · Score: 5, Informative

    Doesn't look like a vulerability to me. So it can read files in /usr/lib/firefox, but those are just the standard files from the firefox package. User configuration and stored passwords etc are not stored there... It still can't get to $HOME/.mozilla...

    --
    --- Hindsight is 20/20, but walking backwards is not the answer.
  16. How is this a serious security problem? by Anonymous Coward · · Score: 3, Informative

    I'm confused, how is this a serious security problem? All it allows is reading files from the Firefox application directory, which isn't exactly sensitive data, since you can get the exact same files from just downloading Firefox from Mozilla's website. Your prefs, passwords, etc. are stored in your Firefox profile, which lives outside the Firefox application directory, so they *are not* accessible via this trick.

  17. Scare mongering by Anonymous Coward · · Score: 5, Informative

    gre is constant data. This report is FUD.

    Firefox is open source; anyone who wants to view view-source:resource:///greprefs/all.js can just as easily load http://mxr.mozilla.org/mozilla1.8/source/modules/libpref/src/init/all.js?raw=1 it has the same content.

    all.js is *not* user data, it's *public* app data. Your preferences are stored in prefs.js which are not exposed by greprefs.

  18. Update the title... NOW. by Anonymous Coward · · Score: 5, Insightful

    Seriously, this title should be changed now (get rid of "Serious"), and a "!serious" tag added. The author of the article is an asshole who just waited for this release to fear monger and gain some attention. This bug exists in previous versions, this is not a new issue. The fact is, 2.0.0.12 fixes issues from previous issues, and does NOT introduce this "new" bug.

    You should still upgrade. You are already vulnerable to this "attack" without it, but you can at least gain some new fixes for other issues.

    You know, we're trying to promote open source software. To scream that firefox has a "serious vulnerability" when it in fact doesn't is IT treason.

  19. Re:Fixed is hours! by zsau · · Score: 3, Insightful

    As someone who uses Linux because I was able to customise it to be exactly compatible with the way I think, and so I'm unable to run Internet Explorer or IIS, I have to say you make an excellent point.

    To everyone else: Do you remember before the browser wars, when Netscape was the big, bloated dominant player and Internet Explorer was the fast and light competitor which needed to prove itself (even if it did so by cheating)? Do you remember the time between the wars, when Internet Explorer was buggy and insecure? Now we are in the second browser wars and Internet Explorer is trying to compete. And it's a good thing. The Mozilla foundation cannot afford to sit on their laurels or Firefox will be the also-ran that the Mozilla suite is. Never hold yourself to someone else's standards: Be the very best you can be, and it'll always be better.

    And be grateful for it — we on Linux pretty much have no choice but Firefox (or Firefox-based browsers) if we want a vaguely native, somewhat integrated system (well, there's Konqueror if you use KDE but it's not up to the same level as Firefox and Internet Explorer). There's no competition, no choice, and no reason for Mozilla to focus their development effort over on this side of the fence. And we suffer for it, with form widgets that don't look right and menus that don't work properly.

    --
    Look out!
  20. Re:* Stops download of newest Firefox * by omeomi · · Score: 4, Informative

    Making it trim on minimize (something it should do by default) helped somewhat

    What you're describing has nothing to do with Firefox. Even if Firefox frees it's memory, that freed memory doesn't get reflected in the Task Manager until the program is minimized or you wait long enough...

    More info: http://www.garagegames.com/blogs/4517/11311

    "The Windows OS employs something like a memory cache for each actively running program. This cache may grow as the needs of a particular program require using magical algorithms Microsoft developers have produced for determining the optimal size for that program. For instance a program over the course of it's life time may require 20 megs of memory but occasionally needs to load data requiring allocations of up to 10 additional megs which is released seconds after it is loaded and processed. The Windows OS may determine then, that the memory cache for this program must increase from the base 20 megs to 25 megs instead. Looking at the Windows Task Manager then, you may see that this program is now using 25 megs of memory, even though currently, it may only be using 20 megs.

    That is, the Windows Task Manager is reporting the memory cache allotment and not the memory allocated and used by the program. This is not the same as a memory leak. The program has little to no control over the memory cache allotment the OS has given it."

  21. Re:* Stops download of newest Firefox * by Rakishi · · Score: 5, Informative

    Parent is an idiot or a troll, not informative.

    To quote the link itself, where it is written in large bold print right above what was quoted (emphasis mine):
    FIXED in Firefox 2.0.0.12

  22. Re:I sure hope it's only this version... by tetromino · · Score: 3, Informative

    It looks like Firefox 3 Beta 2 is vulnerable. The proof of concept from the article works on FF3b2 on my machine (Linux i686).

  23. Firefox is too large to be secure by Morgaine · · Score: 4, Interesting

    This isn't a problem just with Firefox, but with all full browsers today (the various midget text-mode ones excluded).

    Any non-trivial program contains bugs and vulnerabilities proportional to its size, and the relationship between size and inherent problem-count is probably a lot worse than linear. This is true for all programs and all systems, but it is especially true for monolithic ones, and to a very large extent the main body of modern browsers is quite monolithic. Even the plugins load into the same address space in most cases, although there are exceptions to this in the browser world.

    The present situation is not good, and everyone is familiar with the consequences of it: the web browser is by far the most crash-prone of all applications present in our operating systems today.

    Is there a solution to this on the horizon? Not at present, because developers in all the most popular programming languages almost always implement monolithic systems (because the languages encourage it and the courses teach it), and are highly adverse to extreme modularization. Again, there are exceptions, but they are rare.

    We are living in a bit of a Dark Age in this area currently, and I don't forsee any change within the next five years at least.

    --
    "The question of whether machines can think is no more interesting than [] whether submarines can swim" - Dijkstra
  24. Re:* Stops download of newest Firefox * by Achromatic1978 · · Score: 4, Interesting

    So, it's their fault, right? Funny, just reading their page alone mentioned how they'd already made mention of how this affects more than just extensions, but Mozilla ("What leaks? Show us a single leak!") developers shrugged, blamed extensions, and released, without fixing the core problem.

  25. This bug is less important than it seems by enodo · · Score: 5, Informative

    If you take a look at what this is doing, there's much less to it than meets the eye.

    The way the page works is that it is able to load the file all.js in the greprefs directory inside your firefox installation. However, it is not *reading* this file and making it available to the javascript interpreter, it is *executing* the file. The file is a big list of browser preferences, each set with a call to a function with the signature pref(name, value). There is no code in there other than calls to pref. What the page does is define its own pref(name, value) which gets called, and the names and values are therefore available to the javascript interpreter.

    So:

    1. It has to know exactly what is in the file, and it has to be able to overwrite a function or functions so that some sort of privileged data becomes available to it. It has to be able to do this without the page throwing errors or halting execution. (That was easy with all.js, because the only thing in there was calls to pref. In other files I doubt it would be so easy.)
    2. As demonstrated, it can only read data that's inside the directory of the default install, not your home directory or anywhere else. As others have pointed out, it's not clear that there's ever anything really privileged in there for it to get. (The settings gotten in the exploit demonstrated are not very interesting.)

    I would additionally point out that the view-source: part of the URI appears to be unnecessary, since at least for me (Ubuntu FF 2.0.0.12) the "exploit" worked just fine without it.

  26. DIRECTORY TRAVERSAL? by dominious · · Score: 5, Informative

    Indeed,
    From TFA: "We can trick Firefox itself in traversing directories back".
    but then it says:
    "we are able to read out all preferences set in Firefox, or just open or include about every file stored in the Mozilla program files directory"

    Since TFA is not clear, I have tried it myself and I WAS NOT ABLE TO TRAVERSE a directory back with resource:///../
    So the only files someone can read with this vuln are the files inside firefox directory which from what I can see are just default files and no cookies or passwords.

    If anyone thinks any different please let me know.

  27. Amazing coincidence by GlobalEcho · · Score: 4, Funny

    The browser can present to me a list of script functions and fragments, each with a "allow", "deny", or "remap" option. What an amazing coincidence! My grandmother, my boss and my brother's girlfriend were all wishing out loud for that very feature just yesterday! We'll all be secure in no time!
  28. Re:* Stops download of newest Firefox * by gaspyy · · Score: 4, Insightful

    Let me get this straight: do you honestly think that something being Open Source will magically protect you? I was going to mod you but there's no "-1 Naive".

    There are enough malware targeted specifically at Firefox - I've seen them in action. The good thing with Firefox is that it gets patched pretty quickly, by the time an exploit has been written, hopefully we'll all have 2.0.13 installed.

    Still, that's no excuse. It saddens me to say that the quality of Firefox (2.x.x branch) is steadily declining. It's slow, eating too many resources, and it crashes - on some sites it just constantly crashes. If it weren't for all the extensions, I'd dump it in a heartbeat and move to Opera.

  29. Not exactly.... by DrYak · · Score: 5, Informative

    Aren't Firefox plugins just Javascript?


    Depends.

    Firefox extensions (Like the oh-so-important NoScript and AdBlock Plus, or the must-have for every /.er Resurect pages) are all written in Javascript. That's what makes them portable (installable in Windows IA32 or AMD64, or Linux {whatever CPU you compiled it for}).

    On the other hand, web-browser plugins (like Adobe Macromedia Flash, Sun Java, etc.) are binary code in dynamically linked libraries (DLL or SO depending on what's standart on your OS). That's why there are really serious portability problems with closed source companies providing plugins compiled only for a handful of operating system (often without 64bits support).
    There are two strategies :
    - most of the time open-source projects use very light libraries which obtain the parameters from firefox and launch a player in a separate process that get its output embedded inside the page display (mplayer's plugin just luanch a sepparate mplayer session, gnash' plugin runs gtk-gnash to open the flash movie, webgcjplugin compiles and runs the java applet using gcj, moz-plugger is an universal embedder, etc...)
    - whereas most of the proprietary project try to cram everything inside a huge DLL that runs inside firefox' own process (macromedia flash, acrobat reader {BTW who does still use that piece of junk}, etc.)

    As I understand it, that's one of the major reasons that Firefox can get bogged down.


    The Javascript extensions play some role because the javascript engine of current Firefox isn't very fast (Hopefully the integration of Tamarin VM in some future version will help). If a user has way too many of them, the firefox experience can become slow. But most of the time quite, the extensions are event-driven : they usually add entries in the main menu and the javascripts are only executed when the user clicks the entry.

    The other problems comes with memory leaks.
    - Javascript extensions, because they are only ran on demand and because of the garbage collector, aren't subject to many leaks. But anyway really badly written code can actually degrade firefox performance and eat up memory.
    - Dynamically linked web browser plugins are a completely different animal : because they run inside the browser process (at least, not the open-source one which only launch an external process) if they leak memory, the whole firefox process will get its memory usage up and will only free the memory when the whole program is exited. Also, firefox isn't heavily multi-threaded and if some plugins freezes the whole program gets unresponsive (I've had some awful experience with acrobat and older versions of flash). Similarly crashes inside a dynamically linked library will bring down the whole process that called the function, and any exploit discovered inside flash can be used against firefox itself.

    I strongly suspect that most of the memory leaks reported by users are actually due to browser-plugins, because I haven't experienced any leaks even if a use several extensions, whereas I don't run closed proprietary browser plugins at all (mplayer and gnash only !) because of the awful experience with acrobat and flash.
    --
    "Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]