Slashdot Mirror


GDI Vulnerabilities: An Open Letter to Microsoft

UnderAttack writes "Tom Liston, the guy that brought us the LaBrea Tarpit, wrote an open letter to Microsoft regarding the GDI JPEG vulnerability, and Microsoft's scanning tool for this vulnerability, which he calls 'worse then useless'. Tom, who wrote his own scanning tool, ends his letter with 'Please stop treating your customers like idiots and give us information; information that we can use.' Like Tom explains, the official Microsoft scanning tool misses a lot of vulnerable DLL's installed by third parties, and Microsoft fails to explain if these libraries are a problem or not."

45 of 444 comments (clear)

  1. Hate to quote a quote but... by diginux · · Score: 5, Funny
    which he calls 'worse then useless'
    So it gets worse, _then_ it is useless? :)
    1. Re:Hate to quote a quote but... by BlueThunderArmy · · Score: 4, Funny

      Still a step up from other MS products, which have to get *better* to become useless.

    2. Re:Hate to quote a quote but... by pbranes · · Score: 5, Informative

      I totally agree with the 'worse than useless' statement. In my office, I had to disable it on the corporate SUS server because all it did was pop up and worry users. It gives no meaningful information. It does not patch all the dll's that it may or may not find. It merely scares users into thinking they had a virus. This is the only thing in my SUS list that is not approved and it will stay that way forever as far as I am concerned.

    3. Re:Hate to quote a quote but... by danheskett · · Score: 5, Interesting

      bordering on the criminally neglient concerning network security.
      Please back up your assertion that this is "bordering" on criminally neglient.

      Do you claim there are some laws regarding network security that are applicable, or this just a verbal flourish gone one step to far.

    4. Re:Hate to quote a quote but... by KilobyteKnight · · Score: 4, Informative

      which he calls 'worse then useless'

      So it gets worse, _then_ it is useless? :)


      So far, everyone else responding seemed to have missed your point. The article correctly uses "worse than usless". It is the submitter and/or our ever so thorough Slashdot editors to blame for the "worse then useless" grammar mistake.

      And for all of you that missed the grammar mistake and are debating the meaning of "worse than useless", yes, things can be worse than useless. Things can be harmful. They can cause additional harm or frustration, as opposed to a useless item which just does not do anything useful.
      --
      When will Windows be ready for the desktop?
    5. Re:Hate to quote a quote but... by micromoog · · Score: 4, Funny

      If not, then your co-workers currently do.

    6. Re:Hate to quote a quote but... by sir99 · · Score: 5, Funny

      worse thæn useless?

      --
      The ocean parts and the meteors come down
      Laid out in amber, baby.
    7. Re:Hate to quote a quote but... by Elwood+P+Dowd · · Score: 4, Informative
      From Microsoft Security Bulletin MS04-028:
      I use Software Update Services (SUS) to deploy security updates in my enterprise. Should I deploy the GDI+ Detection Tool to all of my systems?

      The GDI+ Detection Tool was available via SUS but has been removed. This tool is not designed for use or supported in enterprise environments.
      Hopefully they won't ever do that again. I'd consider this an admission that their tool was worse than useless. Even before they removed the detection tool from SUS, they said that they did not recommend it for corporate networks, so it seems that they already knew it was useless.
      --

      There are no trails. There are no trees out here.
    8. Re:Hate to quote a quote but... by brianosaurus · · Score: 4, Funny
      You're almost there, but...

      You take their word for it, put your car in the shop, then when you go pick it up, the mechanic tells you "OK. We did something, but we won't tell you what we did, and your car may still blow up."

      But that still doesn't answer the grandparent post's question of whether there is an actual law... Not that it matters, but its hard to take MS's focus on security seriously when their patching tools won't tell you whether or not you are vulnerable (just that you MAY be vulnerable). How is Microsoft's scanner any better than the code below? (and mine works cross-platform, too!)
      main() {
      printf("Scanning for vulnerabilites...\n");
      sleep(5);
      printf("Your computer may be vulnerable. Please update.\n");
      }
      --
      blog
    9. Re:Hate to quote a quote but... by DA-MAN · · Score: 4, Funny
      How is Microsoft's scanner any better than the code below? (and mine works cross-platform, too!)
      main() {
      printf("Scanning for vulnerabilites...\n");
      sleep(5);
      printf("Your computer may be vulnerable. Please update.\n");
      }


      Your right, it is cross platform
      $ uname -a
      Linux totoro 2.4.21-20.ELsmp #1 SMP Thu Sep 2 17:07:30 PDT 2004 i686 i686 i386 GNU/Linux

      $ ./foo
      Scanning for vulnerabilites...
      Your computer may be vulnerable. Please update.

      Yikes, I'll be back, gotta update my system . . .
      --
      Can I get an eye poke?
      Dog House Forum
    10. Re:Hate to quote a quote but... by Sputum · · Score: 4, Insightful
      This tool is not designed for use or supported in enterprise environments.

      I see. The tool wasn't designed for use. They just made it available for download so we could all see what a tool would look like if one were available.

      --
      "What we imagine is order is merely the prevailing form of chaos"
  2. Dear Tom by Anonymous Coward · · Score: 5, Funny

    When you need this tool, we will tell you and provide it for you. Until then, please continue buying our other tools.

    Bill

  3. Disabled this tool in SUS by pbranes · · Score: 4, Informative

    In my SUS server at my corporation, I disabled this stupid tool because all it does it pop up with some confusing error message that the end user does not understand. Then they would all just call me asking about a weird popup they got on their screen. I am deploying the windows patch via SUS and the office pack via scripts, so there is nothing for the end user to do anyways.

  4. Re:er, by chill · · Score: 4, Informative

    They are actually 3rd party products that distribute Microsoft DLLs as part of the runtime code. The argument is that these companies need permission from MS, who should then have a master list of who asked for permission and why.

    --
    Learning HOW to think is more important than learning WHAT to think.
  5. Re:In case it gets Slashdotted.... by PitaBred · · Score: 5, Funny

    Hrm... the Internet Storm Center... slashdotted... that'd be interesting. Somewhat poetic. But doubtful.

  6. Re:Yeah, right. by PitaBred · · Score: 4, Informative

    No, MS IS checking third party software, but not updating it, and still warning you about it. And warning you without telling you exactly what is wrong, the worst kind of error message, one that Windows is quite fond of.

  7. It's actually a tough job even on Linux by shoppa · · Score: 4, Insightful
    Scanning your own systems for vulnerabilities, especially when you have third-party stuff on it, is a tough job.

    You don't even need third-party stuff or an application to make it hard under Linux. Typical cycle is: kernel version x comes out in March. It's in a Red Hat release in July. Vulnerability found in September, with an immediate release of version x+1 on kernel.org (which also has a lot of changed/evolved drivers etc.) Red Hat back-patches the fix to version x and makes a new funny version number to signify this. They might include a couple other things from x+1 in the back-patch to version x. Except that the funny redhat version number doesn't signify much to anyone on the surface.

    Similar things happen for Red Hat (and other branded linux binary distributions) of Apache, SSL, etc., things that are all quite critical and you'd hope would be crystal-clear as to which patches your version has or doesn't have.

    Now finding whether version X of a library or application has a vulnerability patched usually isn't too hard. And Red Hat does a pretty good job of keeping on top, way better than say Microsoft.

    Disclaimer: I'm no fan of Microsoft, but I'm not a big fan of Red Hat (or, as I prefer, Head Rat) either (or any binary linux/gnu toolchain/popular application distro for that matter).

  8. Likely no master list by isn't+my+name · · Score: 5, Informative

    The argument is that these companies need permission from MS, who should then have a master list of who asked for permission and why.

    But, I'll bet that MS gives developers permission to distribute these with Visual Studio, which would mean there is no way that MS has a master list--moreover, much of the software may be for internal applications and the developer is long gone.

    So, any VB program that does image manipulation may be poetentially vulnerable.

    1. Re:Likely no master list by julesh · · Score: 5, Informative

      But, I'll bet that MS gives developers permission to distribute these with Visual Studio,

      Its worse than that, the DLL in question is distributed (with permission to redistribute) in the free Platform SDK download.

      So, any VB program that does image manipulation may be poetentially vulnerable.

      I've used the DLL in question from C++ and Java/JNI programs before now. _Anything_ might be vulnerable. Check for "GDIPLUS.DLL" in your applications' install directories. Or use the tool linked from the article.

  9. Re:But Microsoft customers are idiots by Anonymous Coward · · Score: 4, Funny

    The funny thing is.. no slashdotters are windows users until a cool tool like that NASA world wind one comes up.. then suspiciously its slashdoted. .

  10. Like We're Not Idiots? by MankyD · · Score: 5, Insightful

    Most users ARE idiots. It seems completely appropriate that they should be treated this way. I very much mean this.

    Yes, the slashdot crowd and others might do well to receive more information regarding vulnerabilities and fixes for them, but the average user would be overwhelmed.

    I once mentioned to a gentleman that the standard encryption on an 802.11b WAP wasn't entirely secure and he panicked. He asked if hackers would steal his credit card and social security numbers. I asked if he ever shopped online or transmitted those numbers across the internet to which he replied emphatically no (he didn't even store them on his computer for that matter). He still did not understand that a "hacker" can not steal his information from a WAP if it was never there in the first place. He promptly switched to using a ethernet based network.

    Most people are too stupid to be told even the fisrt thing about security. Better a patch is provided that works and they use it. Seeing as how the patch was not complete in this case, that'd differenty, yet the users should still be treated like morons.

    --
    -dave
    http://millionnumbers.com/ - own the number of your dreams
    1. Re:Like We're Not Idiots? by ConceptJunkie · · Score: 4, Insightful

      And all this approach does is scare the idiot users, because the typical computer-phobe will assume his machine's been infected with a virus.

      So really, the tool doesn't serve anyone well.

      --
      You are in a maze of twisty little passages, all alike.
    2. Re:Like We're Not Idiots? by Anonymous Coward · · Score: 5, Insightful

      "...Most users ARE idiots. It seems completely appropriate that they should be treated this way...."

      That's a little harsh especially considering your example. You can, of course, be a very smart person and not know much about wireless networking. That "gentleman" could be, for example, the lead scientist in a bio research project and if he asked you a question about something he had detailed knowledge of and you didn't know the answer he, too, could conclude most people are idiots.

      The world is full of technology that no one person can, or has the time, to absorb it all.

    3. Re:Like We're Not Idiots? by maxpublic · · Score: 4, Insightful

      Most users ARE idiots.

      Everyone's an idiot in a field they know little or nothing about. Computer users want their machines to work; they don't want to know how they work, and why should they? You regularly use devices, or the products of devices, that you can't even begin to describe the manner in which they function, yet I don't see engineers or factory workers or mechanics standing up and calling you an idiot for not knowing how these things work, or for not wanting to learn how these things work.

      Computers don't get a special exemption to this rule. They're just tools like any other tool, nothing more.

      Max

      --
      My god carries a hammer. Your god died nailed to a tree. Any questions?
  11. Other ways by globring · · Score: 5, Insightful

    Any valid points the author has about the uselessness of the tool, or the general state of affairs with security at Microsoft, are dimished by his pompous attitude and snide remarks.

    Why not write a technically detailed letter about the code you find (since he read it so many times) and perhaps offer some constructive alternatives to improve it?

    Not only would it be more interesting to read, but they might actually be more willing to consider it.

  12. I second that "information we can use" point by Asprin · · Score: 5, Insightful


    I spent about 45 minutes reading docs at MSDN/MSKB trying to find an explicit statement that IE6SP1 on Win98 is vulnerable, and I swear that they don't actually state that fact (explicitly) anywhere! I eventually was able to read between the lines and conclude that Win98 isn't vulnerable, but Win98 + IE6 is, so you should run Windows Update to DL the patch.

    Am I certain? No. Like I said, it's very difficult to find answers to very simple questions in their docs sometimes. I especially hate reading their security bulletins because it's like they were written by very technical lawyers who are trying to maintain the illusion of releasing information without actually doing so. As often as is possible, I try wait a day or two for the DHS CERT to issue their bulletins because they do a slightly better job of relaying useful information.

    --
    "Lawyers are for sucks."
    - Doug McKenzie
  13. Re:Yes, Microsoft can fix everybody's code! by BeerCat · · Score: 4, Insightful

    Actually, according to TFA, your analogy should be:

    "My home-built kit car has a Ford engine. There's a problem with the engine. Ford needs to fix it"

    --
    "She's furniture with a pulse"
  14. No Warranty Implied by Sneeper · · Score: 5, Funny
    I like how the sans.org GDIscan (http://isc.sans.org/gdiscan.php) has the following warranty in all caps:

    HIS APPLICATION IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, ....

    His letter might as well read:
    Dear Microsoft,
    How dare you take no responsibility for the code you write? I am handing out a much better version.
    P.S. I take no responsibility for the code I write.
    1. Re:No Warranty Implied by gl4ss · · Score: 4, Insightful

      would you give warranty for something you give for free?
      i don't think so.

      well, maybe he'll give you your money back!

      --
      world was created 5 seconds before this post as it is.
  15. Re:Yes, Microsoft can fix everybody's code! by AceCaseOR · · Score: 4, Insightful
    Funny, but irelevant. Microsoft wrote the DLL's in question, but distributed them through third parties (as has been mentioned by other posters).

    For a better analogy, Microsoft is refusing to pay Child Support for its bastard child.

    --
    Zagreus sits inside your head, Zagreus lives among the dead, Zagreus sees you in your bed and eats you in your sleep.
  16. Re:er, by LurkerXXX · · Score: 4, Insightful
    So, is Linus going to put out an advisory that there may be some random explit in the Gimp that allows user level access to hackers? I know there must be some random buffer overflow in the Gimp somewhere. Linus should point this out according to your logic, shouldn't he?

    Kinda silly eh?

    Of course 3rd party apps might have exploits. It's up to those 3rd party vendors to supply patches. Even if the code is originally based on MS code, the 3rd party vendor may have modified it in any variety of ways and MS has no idea if those will be dangerous versions or not. MS has identified the bad code, the 3rd party vendors have been notified about it. It's up to them to tell you if their version is bad or not, and patch their software.

  17. This whole open letter business by Anonymous Coward · · Score: 5, Funny

    Has anyone ever sent a closed letter?

  18. MS needs to warn developers by isn't+my+name · · Score: 4, Interesting

    Yes, Microsoft should be responsible, when those people who wrote the code using Microsoft dlls are distributing a vulnerable version of the dll. Microsoft approved the distribution of the dll, so they should know who did.

    No, MS should not be responsible for fixing code that third parties distributed using their code libraries. Just as no F/OSS code library project should be resonsible for trackind down anyone who might have used their code library.

    However, MS should do a better job of making it clear to third party developers that the DLL may be included in their project (often without the knowledge of the project. Visual Studio does a great job of hiding the relevant DLLs that get loaded into a project.) None of the MS advisories on this that I have seen have included any recommendation to developers or consumers that they need to take additional steps after patching their system.

    MS should, though, have produced the tool that Tom Liston did. His scanner is 7k. Surely MS could have come up with something like that--and if you run Tom's GDI scanner, you'll note some places where it identifies possible problems. MS would be in a much better position to be know if that is the case and thus able to provide better information.

    So, I disagree with what you are faulting MS for, but not the fact that MS should be faulted.

  19. humidifier by trailerparkcassanova · · Score: 4, Funny

    My parents, in a vain attempt to rid the basement of its malodorous "twang" purchased a dehumidifier which, because there was no electrical outlet anywhere near the floor drain, required emptying on a daily basis.

    Uh, an extension cord perhaps?

  20. Re:er, by Spoing · · Score: 4, Informative
    1. Sooooo, how exactly is MS responsible for all 3rd party DLLs?

    While Microsoft isn't responsible for 3rd party DLLs, this is a different situation. They are partially responsible, and if they were interested in making the client systems secure they would handle things differently for what is really a simple file update.

    Reasons: They designed a system that requires 3rd parties to distribute DLLs that Microsoft created. If the DLLs were set in a well organized location, the updates of the system DLLs would automatically 'fix' the other programs. Versioning -- something that Windows DLLs support and programs can take advantage of -- would handle compatability issues that are not directly incompatable with this fix.

    --
    A firewall can not protect you from yourself. Turn off what you do not need. Do not use the firewall to do your work.
  21. RULES OF SLASHDOT by JoeBar · · Score: 4, Funny

    Rule #1 You do not talk bad about Linux Rule #2 You do not talk bad about Linux

  22. In "How not to write an open letter 101"... by strAtEdgE · · Score: 4, Insightful

    ... first class on day one, they would cover off not including some pointless story about your childhood home which comprises half of the letter and has absolutely no relivence to the point of the letter, other than to say that windows users are "in the dark".

    Don't get me wrong, the letter itself was justified, and the author is right about the tool by microsoft I'm sure. But why is that story in there, to make sure that someone at Microsoft doesn't actually read it?

    --
    ----- sXe
  23. What I want to know is... by vrt3 · · Score: 4, Interesting

    MS has written lots and lots of proza about this vulnerability, but I still don't know how to download the new updated gidplus.dll to redistribute. I've applied the update from windowsupdate.com to my computer, but I guess it would be a good idea to distribute an updated version to our customers. I just can't seem to find it anywhere.

    --
    This sig under construction. Please check back later.
  24. This is NOT just a Microsoft bug! by Ryu2 · · Score: 5, Insightful
    Microsoft did not write their own JPEG code; rather they used the freely available implementation from the Independent JPEG group. The flaw is actually in the IJG code, not any Microsoft code.

    Indeed, Netscape, which also uses that code for its JPEG decoding had that flaw (but it was fixed earlier, and of course, it did not make the news nearly as much as this Microsoft issue, owing to its much smaller market share.)

    http://www.openwall.com/advisories/OW-002-netscape -jpeg/

    --
    There's 10 types of people in this world, those who understand binary and those who don't.
  25. Re:er, by julesh · · Score: 5, Insightful

    So, is Linus going to put out an advisory that there may be some random explit in the Gimp that allows user level access to hackers? I know there must be some random buffer overflow in the Gimp somewhere. Linus should point this out according to your logic, shouldn't he?

    If Linus wrote the code, and told the application authors that they were only allowed to use it by accessing a .so file (installed into a special directory for each application that uses it, for no good reason that anyone could gather, and Linus insists that they aren't allowed to modify it in any way), and there was then an update to that .so file, I would expect the update that Linus issued to fix all copies of it, yes.

    Of course, nobody behaves like this in the Linux world. Shared libraries are installed to /lib or /usr/lib and you only have one copy of each of them. An update would ensure that the single copy you depended on had the vulnerability eliminated.

  26. Dumb Question by ewhac · · Score: 4, Interesting

    I have a dumb question. I admit it's a dumb question, because I've spent the last twenty years of my career working with non-Microsoft operating systems and products. The answer may be obvious to someone with that kind of experience, but not to me. So here goes:

    Why the hell are there multiple copies of the same, critical, shared system library floating around on the machine?

    See, where I come from, you have one copy of shared system libraries -- the latest one, with all the latest patches. This library is fully backward-compatible with all its predecessors. Further, the shared system libraries are all in the same place, so you know where to go looking to drop in updates or, if needs be, regressions. (On very, very rare occasions, there'll be a copy of a specific version living alongside the (by definition, broken) application that needs it.) This approach leads to clean system maintenance and ensures that all applications are using the same, up-to-date, best performance, most secure version of the system libraries.

    So why is Windows different? Why are there a zillion copies of GDI+ laying around? And why would you want it that way?

    Schwab

    1. Re:Dumb Question by greendot · · Score: 5, Informative

      Back in the day, it was recommended to put all system DLLs into the main system folder and all your custom DLLs into the app folder. But, Windows' awkward design and poor installation utilities led to many system DLLs being overwritten with old or broken versions. You would find yourself with a broken app and really no way to tell what caused it.

      So, to stop the headache, we started putting system DLLs locally, thanks to the path priority built into Windows - it always checks local folders first. And it worked, most of the time. If you asked for a DLL by name and another app was using an incompatible version, you would get still the stinky one. But, if you were first to the call then you knew you would get yours.

      But, the trend had taken root and like any good weed it is hard to get rid of.

      I don't even think this tool is checking for the other sneaky developer trick of renaming the DLLs, either to hide the fact that it's not licensed or other legal yet obscure reasons.

  27. Why not offer a common jpeg DLL? by AaronW · · Score: 4, Insightful

    I am surprised that Microsoft does not do what Linux does and have a common DLL provide all the JPEG functionality. At least in Linux, most, if not all apps, use libjpeg.so.

    Fixing a problem like this in Linux is trivial. Only libjpeg needs to be patched, and automagically, all apps that depend on that library are also rendered invulnerable.

    We saw this with png and other shared libraries. Also, offering many of these common libraries as DLLs helps reduce code bloat since every app no longer needs to reinvent the wheel.

    --
    This post is encrypted twice with ROT-13. Documenting or attempting to crack this encryption is illegal.
  28. Re:Rules for this story by Allen+Zadr · · Score: 4, Insightful
    May I be the first to agree, except all of the DLLs complained about are Microsoft DLL files. Regardless of what 3rd party re-distributed the Microsoft DLL, I would hope that Microsoft's own scanning tool would be able to find and identify DLLs that Microsoft wrote (whether written for redistribution or core-os).

    Beyond that, if I find out that my Windows version of "The Gimp" is also vulnerable, I know enough to go to the author of that program and find a patch.

    If, on the other hand, 'The Gimp' told me that GTK may be vulnerable, and the 'GTK' folks told me that 'The Gimp' may be vulnerable, I would surely be the first person to stand up and write a singularly upset letter to those projects.

    On the other hand, I didn't pay $199 per copy of "The Gimp" and, as a condition of my use of said software, it clearly tells me that I am free to modify the code to my liking. Thus, I don't feel that "The Gimp" and the "GTK" projects owe me merchantability. Microsoft (on the other hand) I do feel owes me - at least - merchantability to perform as advertised...

    So long as Microsoft can fix the issues that are theirs (as opposed to point me in a circle), I have no qualms with spending more of my fine earned money to them for a really nice gaming OS.

    --
    Kinetic stupidity has a new brand leader: Allen Zadr.