Slashdot Mirror


Root Exploit For NVIDIA Closed-Source Linux Driver

possible writes, "KernelTrap is reporting that the security research firm Rapid7 has published a working root exploit for a buffer overflow in NVIDIA's binary blob graphics driver for Linux. The NVIDIA drivers for FreeBSD and Solaris are also likely vulnerable. This will no doubt fuel the debate about whether binary blob drivers should be allowed in Linux." Rapid7's suggested action to mitigate this vulnerability: "Disable the binary blob driver and use the open-source 'nv' driver that is included by default with X."

71 of 548 comments (clear)

  1. useless suggestion by pe1chl · · Score: 4, Insightful

    Rapid7's suggested action to mitigate this vulnerability: "Disable the binary blob driver and use the open-source 'nv' driver that is included by default with X."

    This is as useless as suggesting "Install Linux" when a Windows vulnerability has been found!

    1. Re:useless suggestion by Anonymous Coward · · Score: 5, Funny

      stfu. Say first post next time like normal people.

    2. Re:useless suggestion by jandrese · · Score: 4, Insightful

      It's also the version without GL support. Without GL support you might as well have a Mach64 in there.

      --

      I read the internet for the articles.
    3. Re:useless suggestion by JensenDied · · Score: 5, Informative
      FTFA
      NVIDIA released the 1.0-9625
      Comment posted by Anonymous (not verified) on Monday, October 16, 2006 - 13:22

      NVIDIA released the 1.0-9625 driver which fixes this bug last month: http://www.nzone.com/object/nzone_downloads_rel70b etadriver.html

      Its a bit ironic how these Rapid7 guys are foaming at the mouth about NVIDIA's awareness of the issue when Rapid7 wasn't even aware that its been fixed for weeks now.
      --

      09:F9:11:02 - 9D:74:E3:5B - D8:41:56:C5 - 63:56:88:C0

    4. Re:useless suggestion by Anonymous Coward · · Score: 3, Funny

      Ironically, the mach64 driver is not built by default because it also has security issues

    5. Re:useless suggestion by MoxFulder · · Score: 5, Insightful
      I'm personally tired of this over-zealous open-source push. Nvidia is a closed-source company, but they make good products. Stop villainizing Nvidia and evangilizing this open-source madness to everyone. I use Linux (Arch distro - go Arch!) and the hated "closed-source" driver from NVidia because THEY make their cards and THEY make the best drivers for them.


      As far as I'm concerned, if you're a potential customer, a company damn well ought to listen to you if they want to sell their products. Open-source drivers are a feature that a lot of users want, whether to use cards on other architectures, to fix bugs sooner, to improve their performance, to audit them for use in security-sensitive deployments, etc.

      Lots of users would *LOVE* to punish NVidia for not responding to their desire for open-source drivers, but they really can't... there's no good alternative. ATI drivers are closed-source as well, and that's the only other big player in 3D graphics cards. Now Intel has come out with actual real-live open-source drivers for their 3D graphics cards, and there's been a chorus of folks planning to switch over to them (even though they're rather underpowered compared to the NVidia cards).

      NVidia may make pretty good drivers, but I bet they could be made a whole lot better and more versatile by open-sourcing them. I've encountered 4 or 5 NVidia driver bugs on my AMD64 box, and have NEVER found any bug in any other non-experimental open-source Linux device driver.
    6. Re:useless suggestion by diegocgteleline.es · · Score: 2, Insightful

      Actually, this is a good idea. The kernel-side binary blob that nvidia uses is used mostly for 3d operations: You don't really use it in your day-to-day desktop experience

      The one "acceleration" that the X.org 2d desktops use is mostly render (for doing font AA, etc). But the X.org 2d drivers can provide that without using kernel drivers.

      The propietary module provides you a alternative and propietary 2d driver, but's its possible to use the nv one, which was written also by nvidia i think. I don't know if it supports the render extension, but it certainly allows you to use your desktop without toouching the binary crap, even if it's a bit slower.

    7. Re:useless suggestion by cortana · · Score: 2, Insightful

      Good companies do not hide the existence of a vulnerability in their products that allows a remote attacker to execute arbitrary code on a machine as root for two years.

    8. Re:useless suggestion by NitsujTPU · · Score: 2, Informative

      They might want to play video games.

    9. Re:useless suggestion by cortana · · Score: 5, Informative

      The drivers on that page are "BETA". Not released.

      It is interesting that when someone holds back the disclosure of a vulnerability in Microsoft software they are praised for practicing "responsible disclosure", but when these Rapid7 people do the same they are accused of foaming at the mouth needlessly since a fixed driver is allegedly already released.

    10. Re:useless suggestion by kelnos · · Score: 2, Interesting

      Personally, I don't care so much about the HW-accelerated GL support the nvidia binary driver supplies. I only use it for the 2D acceleration (which, ironically, I usually don't use as it renders my system somewhat unstable). So for some of us, switching to the open source 'nv' driver is quite feasible.

      --
      Xfce: Lighter than some, heavier than others. Just right.
    11. Re:useless suggestion by Rei · · Score: 2, Insightful

      Good for you. Back in the real world, a large number of people, probably in the millions, use the NVidia driver because of GL. As a consequence, saying Disable the binary blob driver and use the open-source 'nv' driver that is included by default with X." is useless.

      --
      You're treating a symptom while the disease rages on. The fish rots from the head. Why not cut off the head?
    12. Re:useless suggestion by Rei · · Score: 2, Informative

      Exactly. Why is it that people assume that Linux users aren't gamers? Some play mainstream games under emulation. My partner is a gaming nut who loves all of the free games you can get with apt or yum. And despite the common perception, there are a lot of fun Linux games out there.

      --
      You're treating a symptom while the disease rages on. The fish rots from the head. Why not cut off the head?
    13. Re:useless suggestion by DittoBox · · Score: 3, Insightful

      Wow, you're an idiot. How about the studios that use NVIDIA Gelato for rendering? The 3d professionals running Maya, Softimage, Blender or another 3d application that *requires* OpenGL. People bash the nvidia driver quite often, yet very few of them realize how mission critical it is to certain industries. I'm sure that a large portion of the nvidia *nix driver userbase/market is involved in some sort of professional use of 3D graphics. It's not all fluff.

      --
      Good. Cheap. Fast. Pick Two.
    14. Re:useless suggestion by bshellenberg · · Score: 2, Insightful

      And if it was an open source driver (like nv) it would be lacking in features and support that make your card worth the $200+ you pay for it. All you have to do is look at the openchrome project to see the benefit of oss drivers. They have no support from VIA, a lot of cards don't work at all and many that *do* work don't have all the features the windows (closed source) drivers provide. You would think that Linux users would just be happy that nVidia has Linux drivers at all (and keeps them under development).

      --
      Karma: Neutered
    15. Re:useless suggestion by Trogre · · Score: 2, Informative

      Unfortunately you will also have no multi-monitor support and no VBLANK synching. This means no HTPC and no dual-screen setups.

      --
      "Nine times out of ten, starting a fire is not the best way to solve the problem." - my wife
    16. Re:useless suggestion by Sterling+Christensen · · Score: 2, Informative
    17. Re:useless suggestion by mibus · · Score: 2, Informative

      It's also the version without GL support. Without GL support you might as well have a Mach64 in there.

      And dual-head.

    18. Re:useless suggestion by 10Ghz · · Score: 2, Insightful

      Of course NVIDIA has the every right to license their drivers however they please. It's their driver and their product after all. That said, we also have the right to complain about their choice of licenses, and we have the right to buy something else. So why are you (and others like you) complaining? How does it harm you if some people complain about NVIDIA's drivers? It doesn't. People have the right to complain, and the reason they are complaining about is a valid one, even though it might not matter to you. But it does matter to other people.

      No-one here is under the illusion that NVIDIA will open their drivers because someone on /. said so. But does that mean that we shouldn't voice our displeasure about the situation in places like /.? No it does not. Don't like seeing people complain about NVIDIA? Tough.

      --
      Lesbian Nazi Hookers Abducted by UFOs and Forced Into Weight Loss Programs - -all next week on Town Talk.
    19. Re:useless suggestion by golgotha007 · · Score: 2, Insightful

      Yes, but he'll also have a system that won't crash its X server every hour or so.

      I don't think you understand how this exploit works:

      This exploit cannot be remotely executed. It requires a user to be logged into their account on the machine they want to infect. In other words, for those of us with linux workstations (only one user account), this exploit doesn't affect us at all.

      The only type of machine this exploit targets are machines with multiple untrusted user accounts. I can't imagine why someone would be running this NVIDIA graphics driver on a server type machine anyway...

      With all that in mind, it is highly unlikely that anyone would be able to maliciously use this exploit. However, I would like to see NVIDIA fix this problem.

  2. Allowed? by 99BottlesOfBeerInMyF · · Score: 4, Insightful

    This will no doubt fuel the debate about whether binary blob drivers should be allowed in Linux.

    Of course they should be allowed. How can that even be prevented? The more important question is what can be done to either provide more secure replacements or make sure binaries can be functional without having to be trusted by the OS.

    1. Re:Allowed? by Aim+Here · · Score: 3, Insightful

      They might be prevented by pointing out that the definition of derivative work in copyright law could well mean that most Linux drivers would fall within that definition, so that the linux license makes it unlawful to distribute them under anything other than the GPL.

      The Nvidia blob is perhaps a special case, since it's really a windows driver with a GPLed wrapper, so the Linux community tends to turn a blind eye, as long as the driver isn't distributed alongside the kernel. Anyone trying to write a blob driver for Linux, from scratch, would be on shaky ground. Even Linus has said that if you wrote your driver with Linux in mind, it's a derivative work.

      This is a grey area and there's not a lot of case law to decide exactly what is, and isn't, a derivative work in software, so a debate does occasionally flare up, most recently with the Kororaa livecd.

    2. Re:Allowed? by 99BottlesOfBeerInMyF · · Score: 2, Interesting

      We're talking about a graphics driver here. It pretty much has to execute in kernel mode. you know, where you can do anything you want on the system? Sure, we could have a userspace graphics driver, but it would still need a kernel mode driver stub and it would be substantially slower, which is not really an option for most people.

      With the current design of the Linux kernel + userspace, I agree, but I'm unconvinced that that has to be the case. I see inherent stumbling blocks to untrusted video drivers, but nothing that truly prevents them from running in an untrusted mode that does not present the same level of risk. I'm not, however, competent to judge the difficulty of such an enterprise and weigh it against the amount of real benefit to the end user.

    3. Re:Allowed? by GigsVT · · Score: 2, Insightful

      so that the linux license makes it unlawful to distribute them under anything other than the GPL.

      I don't see how that can ever be the case.

      If I distribute something (closed source) that is dynamically linked against a certain GPL library, but I never distributed any GPL code, the GPL doesn't apply to me for that work, I need no authorization to distribute something that merely can potentially utilize a GPL program in a closely tied way.

      Distributing the two together in any way would violate the GPL, such if they were statically linked or offered together.

      --
      I've had enough abrasive sigs. Kittens are cute and fuzzy.
    4. Re:Allowed? by JesseMcDonald · · Score: 3, Informative

      If I distribute something (closed source) that is dynamically linked against a certain GPL library, but I never distributed any GPL code, the GPL doesn't apply to me for that work, I need no authorization to distribute something that merely can potentially utilize a GPL program in a closely tied way.

      The argument goes that a driver developed specifically for Linux is a derived work of the Linux kernel, and thus is subject to the conditions of the GPL. IANAL, but it seems to be a fairly sound argument. There is an explicit waiver for the standard user-space interfaces (so applications are not automatically considered derivative works), but no such waiver exists for the Linux-specific kernel interfaces. nVidia gets around this by (a) using an open-source wrapper, so their real driver doesn't use any of the Linux kernel interfaces directly, and (b) using the same driver code on Linux and Windows (so the driver isn't entirely dependent on Linux).

      This has nothing to do with whether there is aggregation or dynamic linking, and everything to with whether the module is dependent on the GPL'd kernel API.

      --
      "The state is that great fiction by which everyone tries to live at the expense of everyone else." - Bastiat
    5. Re:Allowed? by Aim+Here · · Score: 2, Insightful

      "I don't think they can be considered a "derivative work" because really they add functionality to the kernel, not take functionality from it"

      Adding functionality has nothing to do with copyright law. If you don't believe me, add some binary-only functionality to gcc or emacs and see how long it takes for Eben Moglen to get on your phone.

      "besides there's too many other backdoor ways of getting round it"

      Well you can shift your blob down into firmware or up into userspace. I think the kernel devs would be happier with that than with you tainting their kernel.

      "So, rather than just making a sensible, stable, driver ABI we have something not stable which doesn't support binaries. It's just a PITA to have to recompile all the bloody VMWare drivers every time a slightly revised kernel comes out. This is the kind of thing that just hurts users without doing anything to the vendors which it is meant to spite."

      If youre recompiling drivers, then you should be asking your vendors to put the drivers in the kernel, where all the maintenance and interface twiddling gets done by the kernel maintainers. It also means the kernel people can revise and twiddle the interface when they feel like it, instead of turning the kernel into a mush of backwards compatibility kluges like windows. The kernel writers have looked long and hard at what happens when you encourage binary only drivers, on the lkml, and they have their reasons for keeping it the way it is. Check it out here.

      You guys like to think you're making pragmatic compromises; you're making foolish short-sighted mistakes. Look at THIS case, where a known bug has sat in a video driver for 2 whole years and counting...

  3. To Theo de Raadt by jazman_777 · · Score: 5, Insightful

    Thank you for your stand against blobs.

    --
    Slashdot: Failed Car Analogies. Amateur Lawyering. Anecdote Battles.
    1. Re:To Theo de Raadt by grub · · Score: 2, Informative


      You beat me to it. This is now 2 (or 3?) exploits thanks to binary blobs that OpenBSD is immune to.

      --
      Trolling is a art,
    2. Re:To Theo de Raadt by QuantumG · · Score: 2, Insightful

      Seems kind of harsh to bent all selfrightous over one exploit. I hope nVidia patches it soon.

      And that's the problem. The fact that people have been complaining about this for two years, and havn't even put together a binary patch for it, suggests to me that the "we don't have source" argument, although valid, is just an excuse for making yourself a victim. I wish I had heard about this two years ago because I would have made a binary patch and made sure everyone knew they had to install it. But I guess that's what you get when you don't participate in Full Disclosure.

      --
      How we know is more important than what we know.
    3. Re:To Theo de Raadt by Sloppy · · Score: 2, Insightful

      What's really nice is that this shows that OpenBSD's policy is not just about an impractical "damn fool idealistic crusdade." If you don't have the source, you can't audit it. You don't know if it's safe or not, and OpenBSD's mission really is about safety, not "merely" (*cough*) freedom. Blobs aren't just undesirable on some idealistic scale; they're untrustworthy on a very practical scale. High five to Theo.

      --
      As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
  4. Open vs. Closed yet again... by ZephyrXero · · Score: 2, Insightful

    I'm a huge fan of all thing open source/free software...but I also remember that it's the developer's choice if they want to go open or not. I don't personally understand what "trade secrets" nVidia has to hide by keeping their drivers closed off from the public, but it's still their choice. Unfortunately the open source alternative "nv" driver that comes with X is pretty much worthless if you want to do anything involving 3D. The best situation for those who don't want to use proprietary drivers is to go out and find a company with open drivers and stop using nVidia products if it matters that much to you.

    I'm sure endless flame wars will follow below...so you guys have fun with that ;)

    --
    "A truly wise man realizes he knows nothing."
    1. Re:Open vs. Closed yet again... by Aadain2001 · · Score: 2, Interesting

      While the core idea of your's is not wrong, what you are suggesting would actually cost more. While a lot of silicon manufacturers (Intel, AMD, IBM, ATI, Nvidia, etc) do have some features that they can turn "off" when they want to sell a part cheaper than the fully enabled product, I very much doubt that they have a significant number of them. Remember, these are not software features we are talking about, in which the product is the same size (roughly) on the CD as the full version. In silicon manufacturing, die size is a big factor in the cost. As the die size increases, the number of chips per wafer decreases, thus increasing the cost per chip. Add in the decrease in yield for very large dies and the cost goes up more. Manufacturing designs with the full 24/48/64/etc pipelines and then disabling some of them using software is a waste of space and thus wasted money. It makes more sense to develope designs that can easily have more pipelines added to make the higher end products than to waste space on the die.

      --
      Space for rent, inquire within
    2. Re:Open vs. Closed yet again... by nbritton · · Score: 2, Insightful

      "The best situation for those who don't want to use proprietary drivers is to go out and find a company with open drivers and stop using nVidia products"

      Sure, just as soon as you find a video card company that has open driver programming documation and specifications... I really hope AMD will open ATI's documation and Linux driver up... at the very least not require an NDA for the documation already available.

  5. Missing out. by headkase · · Score: 5, Insightful

    nVidia and ATI are missing out on a pool of talented free labour in their Un*x markets. Seriously they have to pay people to write Windows drivers when they could have Linux people do it for free and fold the best parts back into their Windows drivers. Idiots. ;)

    --
    Shh.
  6. Re:on the bright side... by Tester · · Score: 4, Informative

    There is already a 9625 beta driver available in nvidia's nzone.

  7. This is a relatively minor problem by Theovon · · Score: 4, Insightful

    Ok, security is never "minor," but it kinda washes out in the context of all of the stability and compatibility problems they've had as compared to FOSS drivers for cards whose manufacturers do publish specs. nVidia simply don't do a good job at writing their drivers. They violate all sorts of rules about how you're supposed to write Linux drivers. But being closed source, no one is ever allowed to fix the problems, and nVidia doesn't put enough people on it to keep up.

    What we need is a graphics vendor who publishes full specs for their graphics chips! If nVidia won't do it, find someone who will.

    1. Re:This is a relatively minor problem by archen · · Score: 2, Funny

      Intel

      (Too bad they don't make boards for the AMD processors ;-)

  8. Intel Open Source Graphics Driver by platyk · · Score: 2, Interesting

    This is one reason I think I'll stop using NVIDIA chips and start using Intel chipset graphics hardware in the future. http://intellinuxgraphics.org/

    1. Re:Intel Open Source Graphics Driver by postmortem · · Score: 3, Insightful

      Well, then enjoy intel software sold as $2/pc hardware.

  9. Quite useless. by Anonymous Coward · · Score: 2, Insightful

    Also the ones without openGL performance. Remind me why I bought a high-performance 3D card again.

  10. HW makers should produce multiple drivers by davidwr · · Score: 5, Interesting

    Hardware vendors, be they printers, video cards, or what-not, should work to 2 sets of specs:

    A high-performance, possibly proprietary, specification that gives them a definate edge over their competitors. If they want to ship binary-only drivers that's fine.

    A possibly-lesser-performance specification that does "the basics" - everything a typical device of its type can do. This specification should be public, preferably with open-source drivers. Even without drivers, those who need to can write drivers from the specification. For a high-end video card, this should be everything that a low- or medium-end card could do. For an all-in-one printer, this should include basic full-color printing at "typical for its technology" resolutions, basic full-color scanning at "typical for its technology" resolutions, and b&w and color faxing. For a high-end sound card, this should include at least 2-channel sound. For a communications device, it should include all internationally-accepted standards that the device supports, but need not include the most efficient or highest-performance embodiment of those standards.

    Most important is full disclosure:
    Any device that doesn't provide a full, published specification of "everything" must disclose the limits of the published specifications, so buyers will know exactly what they are buying: a device that, should problems be found with the drivers, or when used with operating systems without supported drivers, is limited to a specified downgraded functionality.

    --
    Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
  11. Can't get worked up by AKAImBatman · · Score: 3, Insightful

    Am I the only one who can't get worked up about this exploit? I mean, I should be thinking, "this is happening because of X, we should do Y to fix it!" And yet, I just can't develop an opinion either way. It's not that I'm wrestling with myself, it's just that I don't care.

    Analyzing this, I think the reason is because the NVidia and ATI drivers are a PITA everywhere. By installing the drivers, you agree to destablize your system in exchange for the most incredible 3D (and 2D to a certain degree) performance. When Something Bad Happens(TM), you just sort of take it as coming with the territory.

    It's sort of like hooking Nitro up to your car. Sure, your engine is more powerful than ever. But are you really all that surprised when you bust a valve, crack a ring, or do some other form of damage to your hotrod?

    It would be nice if OSS drivers could be created. But it's probably not going to happen. NVidia won't open their drivers (ATI, doubly so) and the OSS community doesn't have enough info to recreate them. Thus I think the best bet is the Open Graphics Project. If they produce a viable 3D card alternative, you'll finally be able to chose between a stable (but slower) 3D card, or a high-performance, hotrod 3D Card. Take your pick to meet your needs.

    Oh, and keep a firewall in front of your machine and the internet. Pipe all your X communications over SSH. Just good safety sense. ;)

  12. It ain't too serious. by vidarlo · · Score: 4, Insightful

    How many people use the nVidia cards in their servers? None, I guess. nVidia, and most 3D-cards is used on personal systems, with one user, which is usually root. If that user can use a root exploit to become root - so what! Remember that you have to be able to control the X11 display server to take advantage of this, which means you *have* to be logged in locally or be root.

    Whilst I agree with the principle, I don't think this bug will have *any* impact, as most home boxes have no accounts accessible from the internet, that is able to run X11. If they have, they probably have bigger problems. Same goes for people running untrusted code that can execute this: it could as well provide a shell, or whatever. Yet, the problem is then *untrusted* code. A person that runs untrusted code can probably be coerced into running that as root as well.

    So my guess: zero impact!

    1. Re:It ain't too serious. by smash · · Score: 2, Insightful
      I login and do everything as root on my desktop machine. Without referring to any potential mistakes or accidents, please give me a good reason why I shouldn't use root..

      Because an exploit for *any* software you run has full access to your system? If you run as root, the cracker merely needs to alter the execution of your program and they're in with full priviledges.

      If you don't run as root, they have a far smaller selection of programs (basically daemons or drivers) that will potentially get them remote/full access if exploited.

      How about you turn the question around. Why run as root? You don't need it for 99.999% of tasks, and instead of spending time worrying about what you'll clobber every time you do something as root, spend the 5 seconds typing sudo xxx and your password if you need it?

      --
      I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
  13. So... by Richard_at_work · · Score: 4, Insightful

    How many root exploits have been found for this driver, and how many have been found for opensource elements of the kernel while this driver has existed? Touting this as a reason to drop the closed source driver is nothing but politics and fearmongering, you guys should know better.

    1. Re:So... by Aim+Here · · Score: 4, Informative

      The problem is not that a root exploit exists. Shit happens. Those can be fixed and the world moves on.

      The problem is that all users of Nvidia graphics cards are helpless to make their machines safe because Nvidia has control over the source code. If Nvidia says 'Screw you' or goes bankrupt, then their users are screwed. Had they GPLed their driver, then someone else could have fixed it.

      And that's exactly what's happened in this case.

      If you read the TFA, you'll see that NVidia has known about this bug for TWO GODDAMN YEARS already and NOT fixed it. Surely that's one big 'SCREW YOU' to the Linux, Solaris and BSD communities right there.

  14. Re:So? Who cares? by chill · · Score: 2, Informative

    From the actual advisory:

    "This bug can be exploited both locally or remotely (via a remote X client or an X client which visits a malicious web page)."

    That part wasn't in the /. summary.

    --
    Learning HOW to think is more important than learning WHAT to think.
  15. Fixed weeks ago by Planeflux · · Score: 5, Informative

    Apparently, the bug/exploit was fixed in the 9625 beta release. http://www.nzone.com/object/nzone_downloads_rel70b etadriver.html

  16. Re:How serious, really? by bunions · · Score: 2, Insightful

    exactly. Unless you're allowing remote x sessions (and if you are, you deserve what you get), this is a nonissue. Oh, and that "malicious webpage" thing? All it'll do is crash X. So did Firefox for a while, and we all ran it anyway.

    --
    there is no need to sign your posts. this isn't usenet. your username is right there above your post. stop it.
  17. 1600x1200 w/ DVI in the 'nv' driver, please? by AcidPenguin9873 · · Score: 2, Informative
    The reason I use the closed-source binary blob driver is because the 'nv' driver can't program my flat-panel monitor to accept a 1600x1200 DVI signal. I have to use my glorious 20.1" panel in 1280x1024 mode or hook up the old VGA cable to get a 1600x1200 signal. Here's the thread about how the 'nv' driver depends on the video card BIOS to program up the flat panel registers:

    https://bugs.freedesktop.org/show_bug.cgi?id=3654

    "The "nv" driver currently can't change the BIOS-programmed display timings. Unfortunately, this is not something that we can fix right now."

    This just sucks, IMHO.

  18. This is an obvious fraud by drinkypoo · · Score: 3, Funny

    Theo LOVES to say "I told you so"

    --
    "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  19. Re:better suggestion by Psykechan · · Score: 4, Funny

    Do you have a better suggestion?

    Well duh! Our only course of action is to bitch about it on /.

    Of course this now gives me some ammo against the Linux+nVidia fans I personally know. As Nelson Muntz would say: "Ha ha".

  20. neighbors watch out by wes33 · · Score: 4, Funny

    Hey ... my neighbor runs linux with an nvidia card. And he was showing me some fancy 3d stuff that my xp can't do. So I can hardly wait to turn the tables and take over his system. So what is step 1 ...

    Oh, I see, first I have to break into his house :(

  21. Fixed in 1.0-9xxx driver releases by lfriedman · · Score: 2, Informative
    Please note that this exploit is already fixed/resolved in the 1.0-9625 beta driver:
    http://www.nzone.com/object/nzone_downloads_rel70b etadriver.html


    as well as the 1.0-9626 QuadroPlex driver:
    http://www.nvidia.com/object/linux_display_ia32_1. 0-9626.html
    http://www.nvidia.com/object/linux_display_amd64_1 .0-9626.html

    Thanks

  22. Re:So? Who cares? by entrylevel · · Score: 2, Informative

    The exploit involves executing C code which uses the buffer overflow to replace the address of the free() function in your running copy of Xorg. I'm not saying it's impossible, but how is a web page going to make a Linux web browser execute arbitrary C code? ...

    OK, I read a bit further, looks like you just need to create a malformed glyph in an embedded font. Not at all difficult to do with Java, Flash, or just plain HTML (or so I've heard, never seen an embedded HTML font in the wild). Damnit. Back to eLinks for me!

    --
    Karma: Incomprehensible (Mostly affected by posting at +5, reading at -1, and metamoderating everything unfair.)
  23. Possible remote exploit vector by possible · · Score: 5, Insightful
    I work with the people who discovered and researched this advisory. For those of you who obviously didn't read the whole advisory and who are saying that this is purely a local exploit, I would not be so sure. Let me quote from the bottom of the advisory.
    It is important to note that glyph data is supplied to the X server
    by the X client. Any remote X client can gain root privileges on
    the X server using the proof of concept program attached.

    It is also trivial to exploit this vulnerability as a DoS by causing
    an existing X client program (such as Firefox) to render a long text
    string. It may be possible to use Flash movies, Java applets, or
    embedded web fonts to supply the custom glyph data necessary for
    reliable remote code execution.

    A simple HTML page containing an INPUT field with a long value is
    sufficient to demonstrate the DoS.
    Or, an even funnier chat I had earlier today:
    [chris@work] if it works, i'll drop connection here and be proved wrong and drop the nvidia driver
    [cloder] chris: do you have the nvidia driver?
    [chris@work] yeah
    [cloder] http://nvidia.com/content/license/location_0605.as p?url=';a='a';i=18;while(i--)a%2B=a;location=a;//
    [cloder] this is what's nice when vendors have XSS on their site
    [cloder] and since you trust nvidia enough to run their blob, you must trust their website enough to run javascript on it.
    [dr] haha chad that is classic using nvidias site
    *** chris.work (chris@fe-3-1.rtr0.scra.hostnoc.net) has quit ()
    [niallo] poor chris
    [niallo] cloder broke his computer with a webpage.
    *** chris.pwnt (chris@fe-3-1.rtr0.scra.hostnoc.net) has joined #openbsd
    * chris.pwnt never questions cloder again
  24. OS nv driver does not support dual-head by red_crayon · · Score: 2, Informative

    I have never gotten dual-head support
    out of the OS nv driver; the nVidia
    closed-source drivers work for dual
    head workstations.

    As has been mentioned, why get an nVidia
    card for your server? And this may be a
    moot point for single-user workstations.

    But do not assume that the nv driver is
    a panacea.

    --
    "Never bullshit a bullshitter" All That Jazz
  25. A Free/Open driver for nVidia is being developed by vortimax · · Score: 3, Informative

    The nouveau project is actively working on a free software driver for nVidia cards that will hopefully replace the nv driver one of these days. They could use some help.

    http://nouveau.freedesktop.org/wiki/
    http://wiki.x.org/wiki/nv

  26. I somehow doubt it by Sycraft-fu · · Score: 4, Informative

    Quite often, something free is worth what you paid for it. nVidia has absolutely first rate drivers and while it's nice to think that there's millions of talented driver writers out there just waiting for a chance to make good drivers, that's just not the case. Writing good drivers isn't easy, that's one of the reasons nVidia is so popular with many is their top notch team does such a good job of it.

    Also, they just can't. They have licensed code in their drivers that can't be opened up. Want real OpenGL? Well than you takes what you gets. OpenGL isn't free to hardware developers. It's $25,000 to $100,000, plus royalties for distribution and it does come with terms and conditions on it's release. There's also licenses on patented code like S3TC in there.

    Now if the Linux community wanted to develop their own graphics API that was unencumbered, then maybe you could convince the companies to open their code up. However if you want a full featured GL driver, you are going to need to deal with closed source, at least form nVidia and ATi since they've both already signed licenses on it.

    1. Re:I somehow doubt it by dhasenan · · Score: 2, Informative

      That's the cost of claiming conformance to the OpenGL standard--I'm not sure how legal that is--or using OpenGL trademarks; or for closed-source implementations by hardware developers, or for implementations by hardware developers for closed-source platforms.

      Check the SGI OpenGL FAQ for more information. It's ambiguous as to whether an open source driver project would require the fee; however, since the fees are associated closely with closed-source development, I'm guessing that there would be no additional charge.

  27. None of you dickheads know what you are on about.. by QuantumG · · Score: 2, Interesting

    This is a buffer overflow in the closed-source Nvidia X11 driver, not the kernel modules. As far as I'm aware, Nvidia has no binary blobs that get loaded into the Linux kernel. ATI does, but Nvidia doesn't, all their kernel modules are open source.

    And for the record, X11 drivers run in userland, as root so they can access hardware ports directly. There's no real reason for them to require root, except that allowing any process to access hardware ports will undermine the security and stability of the system. What you could do is use capabilities to give X11 the ability to access particular hardware ports directly and run it as a regular user instead of root. As long as only root can assign the capabilities you'll be fine.

    --
    How we know is more important than what we know.
  28. A tale of two drivers: Closed and Open by dowdle · · Score: 3, Insightful

    Your suggestion to change the subject of the post to remove "Closed-Source" is unfounded. There *IS* actually an open-sourced driver for nVidia and the problem is only with the closed (accellerated) driver.

    --
    Scott Dowdle
    www.MontanaLinux.Org
  29. Matrox source driver (mga) for G550 does 3D by Anonymous Coward · · Score: 3, Informative

    >> It's also the version without GL support. Without GL support you might as well have a Mach64 in there.

    Well since you mention Matrox, get their G550 which has both GL support *and* open drivers. :-)

    The Matrox G550 PCIe card works perfectly with the pure open-source mga driver that comes as standard with all recent kernels. I've been using it in my Dell 2800 server, and its record of reliability is 100%.

    Matrox even boldly proclaim their Linux source driver support on the box. That's quite unusual!

    The card also has the distinction of being the only graphics card in existence that can run in a PCIe slot of 8 lanes or fewer, as it's a 1-lane card (all other PCIe graphics cards use 16 lanes), which means that it will work in traditional "server" chassis that tend to have 1/2/4/8-lane PCIe only.

    And it's cheap and fanless too! I'm pretty impressed with it.

  30. One more reason to use OpenGraphics.org card by billybob2 · · Score: 4, Informative

    The OpenGraphics.org project will release a 3D OpenGL enabled graphics card with full specifications and schematics so that FOSS developers can write open source drivers for Linux and BSDs. The consumer graphics card (code-named OGA) will be release after a development board (code-named OGD1) is produced. The key step is to make enough revenue (around $2 million) from selling the multi-function development board to fund the mass production of the consumer card.

    Unless there is a wealthy individual / corporation out there who is willing to invest in order to manufacture this card earlier. The FOSS-friendly card will surely have a big appeal in Linux circles.

  31. Re:oh joy, THIS discussion again. by slyvren · · Score: 2, Informative

    I run 4 systems with cards ranging from a geforce2 gts, to a 7800gt, and i've never had an issue other than when the 7800 just came out the drivers didnt much like it yet, but was fixed shortly thereafter. I play games that range from quake1 technology to bleeding edge, quake4 types of engines.

  32. I've always doubted the 'trade secrets' argument by Weaselmancer · · Score: 2, Insightful

    I mean, it's not like anyone out there actually has a disassembler or anything. If there was anything worth digging for in their binary drivers, someone would have disassembled that bit and posted it as code already.

    --
    Weaselmancer
    rediculous.
  33. nVidia Programmers by NullProg · · Score: 3, Funny

    Ignoring the argument of Binary vs OSS drivers for a minute.

    The root of this problem is 'C'. The nVidia programmers have way too much power. Buffer overruns, string comparisons, memory access, pointer arithmetic. These features need to be banned from modern computing.

    Just last week over prune juice, I was telling Linus, Theo, and Dave Cutler why they should only allow C#/Java/Python based video drivers in their kernels.

    Enjoy,

    --
    It's just the normal noises in here.
  34. Local escalation by Builder · · Score: 2, Insightful

    A lot of people really seem to miss the point about exploits that can only be used locally... These are still every bit as serious as remote exploits!

    If you follow best practices, you'll probably end up with a system where any vulnerability only leads to access as a user. But when there are local root exploits available, you can escalate that user access to root access and hide your rootkits there.

    So with this Nvidia bug, the real risk is that another service gets compromised and the attacker then uses this exploit to get root. Once they have root, they can install rootkits, etc.

  35. The beta drivers seem ok by smoker2 · · Score: 4, Informative
    I'm running xorg 6.8.2-37.FC4.49.2.1 on FC4 with kernel 2.6.17-1.2142
    I have just installed NVIDIA-Linux-x86-1.0-9625 and it seems ok so far. I've visited a few of the troublesome links with firefox 1.5.0.7 and it's not crashed X yet. I was using NVIDIA-Linux-x86-1.0-8762 before the update, and several times I've had X crap out on me. I don't believe I was r00ted though, after reading about the glyph problems. It can also be triggered by a long "get" request, or long lines of text in a form field. I was using TinyMCE when it first happened to me. Here's a test url that supposedly crashes X from firefox - http://comptune.com/calc.php?methos=POST&base1=10& base2=10&S1=50&S2=3553&func=bcpow&base3=10&places= 500 from this thread on the nVidia forums.
    I didn't check this before the update though, so it may not be conclusive.

    My main complaint about the whole issue is that I only found out because it was posted here. I don't have time to go checking for updates and exploits for all my different drivers and software, that's why yum runs from cron every night. It would have been nice if somebody (nVidia) had posted that a new version was available that fixed potential security holes, or even had a version checker built in to notify me of an update.

  36. It's only sort of a remote exploit by spun · · Score: 2, Interesting
    FTFA: This bug can be exploited both locally or remotely (via a remote X client or an X client which visits a malicious web page).

    So we have three possible routes to privilege escalation. One, the person already has shell access. This is rather rare these days. In any case, you can restrict access to X to only those people you trust or can hold accountable. Two, a remote X client. Who allows remote X connections these days? Require shell access with X connection tunneling through SSH and see #1, above.

    Three, you are running an X based web browser and visit a malicious web page. Okay, to prove this is not an issue, let me quote from the article again:

    The NVIDIA binary blob driver does not check this
          calculation against the size of the allocated buffer. As a result,
          a short sequence of user-supplied glyphs can be used to trick the
          function into writing to an arbitrary location in memory.

          It is important to note that glyph data is supplied to the X server
          by the X client. Any remote X client can gain root privileges on
          the X server using the proof of concept program attached.

          It is also trivial to exploit this vulnerability as a DoS by causing
          an existing X client program (such as Firefox) to render a long text
          string. It may be possible to use Flash movies, Java applets, or
          embedded web fonts to supply the custom glyph data necessary for
          reliable remote code execution.


    Okay, to work, the exploit needs to provide glyph data to be rendered. From the sound of it, without being able to supply arbitrary glyph data, the best that an attacker can accomplish is a DoS for as long as you are visiting that site. So, practice safe browsing, turn off embedded fonts, Flash, and Java for untrusted sites.

    I am predicting that this exploit will not affect many people.
    --
    - None can love freedom heartily, but good men; the rest love not freedom, but license. -- John Milton
    1. Re:It's only sort of a remote exploit by ebyrob · · Score: 2, Informative

      ...the best that an attacker can accomplish is a DoS for as long as you are visiting that site...

      Then perhaps you can explain why this isn't a working javascript exploit proof of concept:
      (Taken from a post further down this very page)

      http://nvidia.com/content/license/location_0605.as p?url=';a='a';i=18;while(i--)a%2B=a;location=a;//

      I mean... if the overflow is that easy, wouldn't someone adept at hitting the right targets in memory be able to do a lot worse with nothing more than javascript?