Slashdot Mirror


Microsoft Responds to WMF Vulnerability

beuges writes "In an entry on the Microsoft Security Response Center Blog, Stephen Toulouse explains exactly how the WMF flaw could be triggered. BetaNews has an overview of the company's response." From the BetaNews article: "This code exists on every version of Windows since version 3.0, security firms have said. When this functionality was introduced, Toulouse said the security landscape differed from what it is now and metafile records were completely trusted by the operating system. Gibson claimed that the flaw could be exploited only by using a byte size of 1 in the metafile record, which Toulouse says is incorrect. He surmised that Gibson's tests had the offending function as the last entry in the metafile, which caused only incorrect sizes to trigger the flaw." We've previous reported on the backdoor claim.

221 comments

  1. Every version since 3.0? by Captain_Thunder · · Score: 5, Insightful

    That's quite a long time to have a flaw in your OS. Maybe they should focus more on security rather than a fancy new AeroGlass interface.

    --
    My journal: Clicky. Read it because it
    1. Re:Every version since 3.0? by Shano · · Score: 5, Interesting

      The WMF vulnerability isn't a programming flaw, it's a problem with the original spec. The code may have been rewritten many times, and the potential for damage never noticed. Indeed, the WINE people did reimplement it, complete with the vulnerability.

      While it seems obvious that allowing arbitrary code to execute, it is clearly sufficiently non-obvious that a flaw in a well-documented spec went unnoticed for more than 10 years.

      What's most likely is that security wasn't a big thing when the spec was written (this much we know), and the WMF code was never audited because is "obviously" isn't related to security. After all, nobody uses it any more, WMF isn't used much on the web, and it's "just" an image format.

      I would be worried about how many similar flaws may exist. I'm willing to forgive them for missing this one (and I'm not a Windows user), but if it doesn't lead to a proper audit of legacy APIs, the next time around they deserve everything they get.

    2. Re:Every version since 3.0? by HugePedlar · · Score: 4, Insightful

      Indeed. Sometimes, late at night, I worry about legacy code. Are we ever going to receive a brand new OS from Microsoft, or will each release merely be an upgrade from older versions?

      I understand the importance of being able to run old programs, but surely Vista could have included a virtual machine or something for XP compatibility - is it really that hard to create a new OS from scratch with proper security etc. as a starting point, not an add-on? Yes it would be a mammoth task, but MS is pretty big, you know.

      I don't know - when you have vulnerable code from Windows 3.1 in your latest release, don't you want to just cut the cord and start again?

      --
      Argh.
    3. Re:Every version since 3.0? by Stan+Vassilev · · Score: 1, Insightful

      "That's quite a long time to have a flaw in your OS. Maybe they should focus more on security rather than a fancy new AeroGlass interface."

      Probably you've not noticed but they are focusing on both just fine :)
      The WMF flaw was patched ahead of schedule and it works fine. In the meantime Vista has whole new ways of battling malware.

      If you believe delving through millions of code lines written 30 years ago to look for potential holes is what they should concentrate on, they wouldn't be in business by now.

      BTW accept the AuroGlass as a knee jerk reaction by the OSX interface. Bill Gates has always knew that when you're on top, the only way is down. They'd rather catch up than do nothing and hope it's some fad that'll pass.

      The benefit is for everyone: multithreaded GUI, more responsive, faster, better HW accelerated via DX, and last but not least, it looks pretty nice.

    4. Re:Every version since 3.0? by CyricZ · · Score: 1, Insightful

      Rewriting software from scratch is almost always a bad idea. This "virtual machine" you suggest may very well introduce bugs worse than this WMF vulnerability.

      At least the old code, even if fairly poor security-wise, has in many cases had years of testing. It has been modified to handle obscure situations that may not even be remotely considered today. Not only could such a rewrite lead to a vast decrease in compatibility, but it could also lead to a vast increase in insecurity. It could very well cause the problem it is meant to solve.

      --
      Cyric Zndovzny at your service.
    5. Re:Every version since 3.0? by CyricZ · · Score: 2, Insightful

      The OpenBSD crew was able to perform a security audit of their fairly large codebase, which may very well consist of code that predates anything Microsoft is using today. And remember, they don't have anywhere near the resources that a massive corporation like Microsoft has.

      What was the end result of their efforts? An extremely secure operating system. Now, Microsoft probably wouldn't need to take it to that extreme. But even putting out a quarter of the effort of the OpenBSD team could lead to security issues being caught before they are exploited.

      --
      Cyric Zndovzny at your service.
    6. Re:Every version since 3.0? by mwvdlee · · Score: 3, Informative
      The WMF flaw was patched ahead of schedule


      "ahead of schedule" meaning "after a number of exploits have been released but before our original delayed release date"?
      --
      Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
    7. Re:Every version since 3.0? by tpgp · · Score: 4, Funny

      Indeed, the WINE people did reimplement it, complete with the vulnerability.

      Yep - the WINE people are reimplementing the windows API bug-for-bug ;-)

      --
      My pics.
    8. Re:Every version since 3.0? by CowboyBob500 · · Score: 1, Troll

      Apple did it with OSX and the "Classic" environment - why can't Microsoft?

      I suspect that its because Windows is such a mass of spaghetti code that they simply just don't know how to anymore.

      Bob

    9. Re:Every version since 3.0? by Anonymous Coward · · Score: 0

      OpenBSD's code audits are carried about to standards, by unidentified auditers, and their
      results are not disclosed.

      What's more, they repeatedly and continually make misleading statements about their security.

    10. Re:Every version since 3.0? by CastrTroy · · Score: 4, Insightful

      Actually, they didn't actually rewrite from scratch. They used BSD, I think. The problem with this, is that if Microsoft chooses something too close to Unix, then it will be easier for people to move away from their operating system. The reason that many people don't switch now, is that moving is very abrupt, and you not only have to change the OS, but many of the applications at the same time. If the OS was unix based, the move could be much more gradual. The funny thing I remember is that the microsoft research lab created an OS that was based on security from the bottom up, and it still ran faster than windows XP. Which I realize isn't that hard, since it's so slow, but shows that you can build a secure OS, that still performs well.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    11. Re:Every version since 3.0? by Predius · · Score: 1

      Not really... Apple has been working on this for what, 10 years now? OS X, Rhapsody, and all the projects before trying to get away from Classic while maintaining some form of backwards compatibility gave them plenty of practice. Heck, A/UX had a classic emulation layer, and it's how old?

    12. Re:Every version since 3.0? by jcaldwel · · Score: 1

      It seems strange to me that WINE implemented this flaw the same way. Was this actually a part of the real Windows DLLS that WINE uses, or was this perhaps a published part of the Windows Metafile API?

    13. Re:Every version since 3.0? by pato101 · · Score: 2, Funny
      Yep - the WINE people are reimplementing the windows API bug-for-bug ;-)

      Otherwise sotware would not crash as expected.

    14. Re:Every version since 3.0? by Richard_at_work · · Score: 1, Troll

      The OpenBSD security audit only pertains to stuff in the base system, which misses a huge chunk of functionality.

      On the other hand, if this bug features in WINE, why wasnt it flagged as a potential issue when the developer implemented the feature? Surely it should have been as blatant as anything at that point, and shouldnt have ever made it to this point.

    15. Re:Every version since 3.0? by Anonymous Coward · · Score: 0

      If Microsofts code is incapable of error-handling, then
      there are major problems. IF this behaviour continues
      throughout the entire Windows OS api's, the timebomb
      is bigger than MS cares to let on.

    16. Re:Every version since 3.0? by dirty · · Score: 2, Informative

      I believe the lineage is actually BSD -> NeXTStep -> Mac OS X. Apple simply bought NeXT because their previous attempt at a new OS (Copland) had failed. With NeXT they got NeXTStep which was the foundation for OS X (that's why all of the Cocoa classes start with NS). Even with all of this it took two full versions before OS X became useable, 10.0 and 10.1 were dog slow from what I understand. A complete rewrite of any major product from scratch is an extremely daunting task.

      --

      -matt
    17. Re:Every version since 3.0? by Shano · · Score: 5, Informative

      I believe it was a part that WINE reimplemented, and it's certainly documented. I don't follow WINE that closely, though, so I can't say for sure.

      The WMF spec allows a file to define a callback function that is executed in case of an error (it resembles ON ERROR GOTO more than modern exception handling). This was presumably useful for some reason, although I'm not aware it was ever used. The exploit defines a malicious callback function, then deliberately creates an error condition.

      Any correct implementation of the spec should have the same vulnerability, whether it's done by Microsoft, WINE, or anyone else.

    18. Re:Every version since 3.0? by dirty · · Score: 1

      Good job Microsoft, you beat your self set deadline by a few days. Congratulations! With how serious the WMF exploit was waiting for some arbitrary "patch Tuesday" would have been irresponsible at best.

      --

      -matt
    19. Re:Every version since 3.0? by martinultima · · Score: 0

      I don't even see why those Wine people even continue, they've already got a perfect emulation of Windows. I mean, why else would it refuse to load half my old games and then garble up the rest of the system beyond usability?

      --
      Creative misinterpretation is your friend.
    20. Re:Every version since 3.0? by dantheman82 · · Score: 1

      It would be ridiculously stupid for MS to make a total rewrite of their OS. Especially in the face of growing competition, the newest product is likely to bomb by such a move because of delay in time to market. Furthermore, it's not bad that it's a mass of spaghetti code if each piece there has a specific purpose to close security holes, and rather than rewriting, they ought to simply refactor and make the code liveable if indeed it is "so bad". However, they and users have tested out many bugs that have affected many of the OSes so that you really open yourselves up to an entirely new series of attack vectors at release of brand-new code. I have to concur with Joel on Software on this thought. Netscape bombed when they attempted an entire rewrite, Excel systematically slaughtered Lotus 1-2-3 in the middle of Lotus' rewrite apparently, and Apple may be one counterexample rather than indication of the general trend.

      --
      This sig donated to Pater. Long live /.
    21. Re:Every version since 3.0? by Waffle+Iron · · Score: 5, Funny
      The WMF flaw was patched ahead of schedule and it works fine.

      Indeed. Here's the original schedule, as found in the source to Windows 3.0:

      /*
      * SATABORTPROC - Error Callback
      *
      * FIXME: Could this be a security issue? We really
      * need to get somebody to take a look at this sometime
      * within the next 20 years or so. XXX Need to recheck
      * around the 2007 timeframe. -AB 5/86
      */
    22. Re:Every version since 3.0? by The+Spoonman · · Score: 1

      You're absolutely right, they should have held off releasing Windows 3.1 until it was thoroughly beta and security tested. Hell, if they did that, Linux wouldn't be 10 years behind.

      --
      Which is more painful? Going to work or gouging your eye out with a spoon? Find out!
      http://www.workorspoon.com
    23. Re:Every version since 3.0? by martinultima · · Score: 1

      If Wine implements it, then what does that mean for the likes of ReactOS...? Maybe this is one of those places where an open-source, Windows-based system would make more sense. (Even though I still prefer Linux myself, I have to say that these guys do have a pretty nice thing going; I can remember back in the days of 0.2.3 when almost nothing worked...)

      --
      Creative misinterpretation is your friend.
    24. Re:Every version since 3.0? by mspohr · · Score: 1
      This "feature" points to a fundamental flaw in Windows that is really impossible to fix without a complete re-write of the OS.

      Windows was designed as a stand alone OS without network connections so it is full of problems like this. They are fundamental to the architecture.

      OTOH, the *nix OSs were designed from the start for a network environment with appropriate security.

      Windows will never be ready for the net without a complete re-write.

      --
      I don't read your sig. Why are you reading mine?
    25. Re:Every version since 3.0? by Anonymous Coward · · Score: 0

      I suspect that its because Windows is such a mass of spaghetti code that they simply just don't know how to anymore.

      Microsoft is totally paranoid about backwards compatibility. They should be, too. That's the biggest thing to guarantee that people will continue to buy Windows.

      The problem is that Windows is a mass of spaghetti code, and there are programs that rely on each knot.

    26. Re:Every version since 3.0? by mrsbrisby · · Score: 2, Interesting
      Yep - the WINE people are reimplementing the windows API bug-for-bug ;-)
      Otherwise sotware would not crash as expected.

      Actually, that's been incredibly useful for me: I don't have any Windows machines, but I (admittedly haphazardly) maintain a Win32 port of some software.

      This has helped me find bugs in Microsoft's own implementation of Win32- or if you'd prefer, bugs in the MSDN documentation.

      The WINE people have spent a considerable amount of time inspecting Win32 function calls- more time I'm sure than Microsoft trying to find what values and what commands do exactly what, and without that efforts, I would not maintain a Win32 port at all.
    27. Re:Every version since 3.0? by Pedrito · · Score: 1

      Indeed. Sometimes, late at night, I worry about legacy code

      That's what you worry about at night? I tend to worry about whether or not I've held her long enough that I can get out of bed and leave.

    28. Re:Every version since 3.0? by Thundersnatch · · Score: 2, Informative

      At some point Microsoft will release a completely new OS. It will probably look something very much like Singularity. Reliability and security, rather than speed or features, will be the focus.

    29. Re:Every version since 3.0? by mysticgoat · · Score: 1

      The design specification has to have been reviewed and revised many times as Windows advanced through Win3.0, Win95, Win98, etc, to Vista. While I can see that a subtle undocumented bug buried in legacy code could have survived through these changes, I find it really hard to understand how something dangerous in the highly visible design specification documents could have survived these multiple periods of intense scrutiny. The only possibilities I can think of is that either Microsoft deliberately avoided critical review of parts of the design specification on multiple occasions where an outsider would have expected a complete and thorough review (like when moving from 16 bit to 32 bit, or 32 bit to 64 bit designs), or persons within Microsoft were fully aware of this security hazard yet chose to go ahead with a design that would put customers at risk.

      Would one of the Microsoft minions want to explain how anything other than criminal negligence or conspiracy to defraud customers could have allowed this exploit to be carried forward-- and amplified-- through so many major reviews and revisions of the design specifications?

      Or perhaps such an explanation is impossible in a public forum-- since Microsoft has actively built up a grand reputation over the last 25 years for generating FUD and profitable disinformation. It seems doubtful to me that any bright, shining truth emerging now from Microsoft could be seen through the dust, smoke and fog that Microsoft chooses to wrap around its public image.

      A Washington State Grand Jury is one mechanism that is designed to cut through FUD and disinformation to find the truth of a matter, when there is a possibility that a crime has been committed against Washington State citizens. Perhaps the time has now come when the Washington State Attorney General should begin this kind of investigation.

    30. Re:Every version since 3.0? by poot_rootbeer · · Score: 4, Insightful

      Are we ever going to receive a brand new OS from Microsoft, or will each release merely be an upgrade from older versions?

      Did Windows NT 3.1 count, or is it disqualified for inheriting code from VMS and OS/2?

      Linux can trace its kernel lineage back to 1991, and many of its utilities are much much older than that. Are we ever going to receive a brand new OS from Torvalds?

      What's the incentive for anyone to re-invent an operating system from scratch? A desire to create the next BeOS? There's too much collected knowledge in the decades' worth of "legacy" OS code that would be foolish to throw out.

    31. Re:Every version since 3.0? by dtjohnson · · Score: 1

      Wrong!! RTFA! It was 'WMF Support' that was introduced in Windows 3.0. The 'vulnerability' didn't come (according to Microsoft) until "...all that GDI functionality was allowed to be called from metafiles." There is nothing inherently insecure about a .wmf file, it is the *way* that the records in it are processed in Windows XP that creates the vulnerability.

      You can rest easy with your Windows 3.0 as it is is secure against the .wmf security access.

    32. Re:Every version since 3.0? by Anonymous Coward · · Score: 0

      We're nerds. We don't get into those situations.

    33. Re:Every version since 3.0? by Kelson · · Score: 1

      Maybe they should focus more on security rather than a fancy new AeroGlass interface. ...because UI design experience and artistic ability are all you need to carry out security research and code audits!

    34. Re:Every version since 3.0? by mysticgoat · · Score: 1

      The WMF flaw was patched ahead of schedule and it works fine.

      It is true that you can say that the patch was released ahead of schedule. It is also true that the schedule for developing and releasing the official patch was putting the global community of Windows users at unnecessary risk. Which was why 3rd party security concerns who strongly prefer to remain neutral felt they had to come forth in this instance and recommend unofficial patches. Basically watching MS' corporate behavior wrt to the .wmf exploit was like catching a glimpse of goatse or tubgirl.

      In the meantime Vista has whole new ways of battling malware.

      But Vista retained this back door-- until the critical patch was issued to the Vista beta boys a few days ago.

      If you believe delving through millions of code lines written 30 years ago to look for potential holes is what they should concentrate on, they wouldn't be in business by now.

      Another poster and MS apologist has noted that the problem was not an undocumented bug in the legacy code, but a serious flaw in the design specification-- which was amplified by design level decisions with new releases of Windows (through the entire series Win3x, Win95, Win98, ... Vista). So your second presumption has no merit. I am sort of put off by your first presumption (about what I or other readers might believe) and I also don't find any logic that ties that presumption of belief to Microsoft's success or failure, but perhaps these words were offered as an appeal to the reader's emotions rather than any kind of reasoning.

    35. Re:Every version since 3.0? by operagost · · Score: 1
      Windows was designed as a stand alone OS without network connections so it is full of problems like this. They are fundamental to the architecture.
      How is that? You could just as easily exploit a machine through the transfer of files on removable media. Conversely, this exploit does not compromise the Windows security model, so if the WMF is executed by a non-privledged user they will be unable to infiltrate the system.
      --

      Gamingmuseum.com: Give your 3D accelerator a rest.
    36. Re:Every version since 3.0? by LurkerXXX · · Score: 1

      Care to back that up with some specific points and references Mr. Anonymous Troll? I thought not.

    37. Re:Every version since 3.0? by Stan+Vassilev · · Score: 1

      "Basically watching MS' corporate behavior wrt to the .wmf exploit was like catching a glimpse of goatse or tubgirl."

      Do you remember the "Microsoft releases faulty patch" headlines from not long ago? No? MS remembers them.
      This is what happens when you release without testing well enough.

      This is not a hack like a "neutral 3rd party" can afford. It's an official patch MS is held accountable for and which becomes an integral part of the system when applied.

      But of course, with MS it's damned if you do, damned if you don't. In this particular instance, the issue was acknowledged and scheduled accordingly so it can be properly tested, there was a tech note that the offending DLL can be unregistered in the meantime.

      And was still released sooner than announced.

      Reaction? MS sucks anyway.

      --------

      "But Vista retained this back door-- until the critical patch was issued to the Vista beta boys a few days ago."

      May I remind you that Vista is a beta software which, when you install you agree to a EULA with huge letters written that it's a beta, and NOT to be used on mission critical machines?

      They could've just left it like this and patched it in the next beta, which would be understandable, but instead they did the better thing and released a patch for the existing beta.

      Reaction? MS sucks anyway.

      ------

      "I also don't find any logic that ties that presumption of belief to Microsoft's success or failure, but perhaps these words were offered as an appeal to the reader's emotions rather than any kind of reasoning."

      Yea, if I want to talk with a robot next time I'll know who to turn to.

    38. Re:Every version since 3.0? by riscthis · · Score: 1
      I understand the importance of being able to run old programs, but surely Vista could have included a virtual machine or something for XP compatibility - is it really that hard to create a new OS from scratch with proper security etc. as a starting point, not an add-on? Yes it would be a mammoth task, but MS is pretty big, you know.
      There was some speculation at the time that this was why they bought VirtualPC from Connectix. i.e. so that they could keep Win32 support via emulation only. Not sure if there was ever any substance to this, but it would be interesting if it happened.
    39. Re:Every version since 3.0? by mysticgoat · · Score: 1

      This is not a hack like a "neutral 3rd party" can afford. It's an official patch MS is held accountable for and which becomes an integral part of the system when applied.

      True enough, though I fail to see how it applies to the schedule of the release, which was the original point. Microsoft could have announced the work-around during the days between the publication of the vulnerability and the announcement of the first unofficial patch-- the work-around was pretty obvious. Yet MS did not do so-- perhaps during that period of lots of people on vacation there was noone on duty with the clear authority to take such an action.

      May I remind you that Vista is a beta software which, when you install you agree to a EULA with huge letters written that it's a beta, and NOT to be used on mission critical machines?

      May I bring to your attention that my response was irt your assertion that "Vista has whole new ways of battling malware"? I contend that the presence of this security flaw in the Vista design suggests that Vista's new ways of battling malware are questionable. This has nothing to do with the current limitations on Vista's deployment.

      Yea, if I want to talk with a robot next time I'll know who to turn to.

      I think I've just been zinged for attempting to be reasonable rather than emotional in a discussion about operating system security. I find that curiously amusing.

    40. Re:Every version since 3.0? by mspohr · · Score: 1

      Yes, I agree that Windows is also vulnerable to removable media (and some of the earliest exploits were through removable media). So Windows was really designed for use as an isolated stand alone machine with no communication of any type... not very useful.

      --
      I don't read your sig. Why are you reading mine?
    41. Re:Every version since 3.0? by ultranova · · Score: 1

      Would one of the Microsoft minions want to explain how anything other than criminal negligence or conspiracy to defraud customers could have allowed this exploit to be carried forward-- and amplified-- through so many major reviews and revisions of the design specifications?

      I am not a Microsoft minion, but if I were, I'd propably be more worried with the endless task of trying to stop IE and Outlook from executing everything they happen to come accross in the Internet, rather than the possibility that the user might execute code hidden in a file on their own hard drive.

      Also, please remember that when Windows began the transition to 32-bittiness with Windows 95, it was still a single-user system with absolutely no attempt whatsoever for security; and Microsoft tried very hard to keep old programs working during the transition, and from what I've understood this exploit can't be fixed, since it is part of the format specification.

      So the most likely explanation is not any conspiracy, but simply not caring. It isn't criminal neglicence, however, since making crappy programs is not a crime.

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    42. Re:Every version since 3.0? by bedouin · · Score: 1

      Even with all of this it took two full versions before OS X became useable, 10.0 and 10.1 were dog slow from what I understand.

      I never thought 10.1 was extremely bad . . .

      Slow compared to 10.2 onward, but not bad.

    43. Re:Every version since 3.0? by Stan+Vassilev · · Score: 1

      "May I bring to your attention that my response was irt your assertion that "Vista has whole new ways of battling malware"? I contend that the presence of this security flaw in the Vista design suggests that Vista's new ways of battling malware are questionable."

      If you open a malicious WMF while browsing in Vista (with IE7) the malicious code will run, but not have the privilege to read and/or change files, settings and so on. So in a way you'd be protected since the code will run but it can't harm you.

      Now if you choose to deliberately save the WMF and open it, that's another question.

    44. Re:Every version since 3.0? by Master+of+Transhuman · · Score: 1

      DREAM THE FUCK ON!

      Not while Bill Gates is alive...or anybody like Ballmer still has authority at the company.

      Microsoft is NOT a software company - it is a MARKETING company and nothing but features - and the ability to lock in the customer - are allowed to significantly influence the system design. Period.

      --
      Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
    45. Re:Every version since 3.0? by Anonymous Coward · · Score: 0

      That's what you worry about at night? I tend to worry about whether or not I've held her long enough that I can get out of bed and leave.

      It's not too late so long as the police haven't shown up yet.

    46. Re:Every version since 3.0? by Master+of+Transhuman · · Score: 1


      So people never save and open WMFs? Gee, never knew that.

      Any more apologia you want to write for Bill?

      --
      Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
    47. Re:Every version since 3.0? by Master+of+Transhuman · · Score: 1

      Yes, Microsoft is damned if they do and damned if they don't?

      Why?

      Because they fucked up - and then they fuck up again in correcting the mistake, that's why.

      Then they fuck up a third time by introducing a NEW fucking mistake. Oh, wait, first they fuck up by lying about the first mistake - THEN they introduce another mistake.

      And they do all this due to the deliberate corporate culture developed by the man in charge.

      So, yes, Microsoft can do no right until Bill Gates, Steve Ballmer and the rest of the Geek Moron(tm) drones who have bought into this shit are removed from the company.

      --
      Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
    48. Re:Every version since 3.0? by Anonymous Coward · · Score: 0

      It's an official patch MS is held accountable for

      Heh
      haha
      hahahahah
      bwuahahahahahahahaha

      Accountable.
      Good one.

    49. Re:Every version since 3.0? by Thundersnatch · · Score: 1

      So why would Microsoft Research be wasting its time with Singularity if it wasn't going to be turned into a product some day? The project is not a researcher's whim -- it has been running for several years. 26 dedicated reasearchers, plus the efforts of part-timers from other MSFT research groups like the compiler group. Security/reliability are the "features" that MS can market as an upgrade from the status quo. It's clear that the marketplace now values both of those more than feature creep. Supporting your lock-in conspiracy theories, Singularity only allows "trusted, safe" code from an ILM-compiled language. This means integration with TPM hardware, code signing, and most importantly code analysis to prove the safety of applications. Microsoft will of course be in the best position to provide "trusted & safe" applications for such an OS.

    50. Re:Every version since 3.0? by Anonymous Coward · · Score: 0

      people never do _anything_ with WMFs these days.
      Most people don't even know what one is...
      If WMF was actually widely used, this flaw would have been discovered earler. Even in the Windows 3.x days WMF wasn't used as widely as it could have been. Clip-art was about it.

    51. Re:Every version since 3.0? by toadlife · · Score: 1

      "OTOH, the *nix OSs were designed from the start for a network environment with appropriate security."

      No they were not. UNIX was designed with no security and it was bolted on later.

      --
      I don't always use unix-like operating systems; but when I do, I prefer FreeBSD.
    52. Re:Every version since 3.0? by cptgrudge · · Score: 1
      I tend to worry about whether or not I've held her long enough that I can get out of bed and leave.

      You leave? Pff. Then you can't watch her fall down in the morning because she's so bowlegged that she can't walk. That's what keeps me there.

      --
      Qualitas edurus commercium, nullus penitus net rimor, nullus deus beneficium
    53. Re:Every version since 3.0? by mspohr · · Score: 1
      From the Wikipedia:

      "Unix was designed to be portable, multi-tasking and multi-user. The Unix systems are characterized by various concepts: plain text files, command line interpreter, hierarchical file system, treating devices and certain types of inter-process communication as files, etc. "

      Wikipedia give a good history of Unix including predecesors Multics, etc. all of which were designed from the start for multi-user environments. When you're designing an OS for a multi-user environment, the basic architecture is designed for security unlike Windows which assumed that there was only one user.

      Interesting history that you can read here. http://en.wikipedia.org/wiki/Unix

      --
      I don't read your sig. Why are you reading mine?
    54. Re:Every version since 3.0? by man_of_mr_e · · Score: 1

      OTOH, the *nix OSs were designed from the start for a network environment with appropriate security.

      Why do people like to rewrite history like this? How quickly people forget that Unix didn't even have networking until more than 10 years after it was created. How quickly people forget the era of the Morris worm which resulted because common applications didn't have any regard for security. How quickly people forget that even today, security is still a major problem in plenty of apps on Unix.

      Please, do yourself a favor, and realize that security will never mean flaws will not happen. Security is about reducing and finding what you can, and dealing with what slipped through your fingers in a timely manner.

    55. Re:Every version since 3.0? by man_of_mr_e · · Score: 1

      Seriously, please tell me how if this flaw was so "obvious", that the Wine team managed to implement it without noticing as well? That's really the major flaw in all these arguments about how "obvious" (in hindsight) it is.

    56. Re:Every version since 3.0? by toadlife · · Score: 1

      "Wikipedia give a good history of Unix including predecesors Multics, etc. all of which were designed from the start for multi-user environments. When you're designing an OS for a multi-user environment, the basic architecture is designed for security unlike Windows which assumed that there was only one user."

      Sheesh, before suggesting I brush up on OS history, learn some yourself. Just because the shell in Windows NT/2000/XP looks like the shell in Windows 95/98/ME doesn't mean the underlying OS architecture has anything in common. Windows NT was built from the ground up to be multi-user and have a robust security model. Windows 2000/XP/2003/Vista all derive from Windows NT, which was designed by the same people who designed VMS.

      Yes, UNIX was designed to be mult-user, and had some rudimetary security mechanisms built into it, but it was primarily built to allow users to share the processing power of big expensive machines, and that's about all. Security was an afterthought at the time, because it really wasn't a huge issue.

      --
      I don't always use unix-like operating systems; but when I do, I prefer FreeBSD.
    57. Re:Every version since 3.0? by mysticgoat · · Score: 1

      The goal of the Wine team has been to develop a body of code whose API precisely matches the behaviors expected of the Windows API. Since the wmf vulnerability is designed into Windows, Wine would be deficient if it did not provide similar behaviors. Whether the design has flaws or not is immaterial-- what is important is whether binaries written under one API will perform the same exact behaviors when run under the other API.

    58. Re:Every version since 3.0? by man_of_mr_e · · Score: 1

      That's all well and good, but it doesn't really explain why the Wine team didn't either a) notice the flaw, or b) report it.

      If the flaw was obvious, as is claimed, then the Wine team would have noticed the flaw and failed to notify anyone about it. That would be irresponsible.

      If the flaw were not obvious, then the Wine team would have dutifully duplicated the functionality without noticing, but that really invalidates the argument that a security audit would have noticed it among the 50+ million lines of code.

    59. Re:Every version since 3.0? by Stan+Vassilev · · Score: 1

      "So people never save and open WMFs? Gee, never knew that."

      FYI what made this bug so bad is that you could just visit a page and you're infected.
      If you download WMF from suspicious source and run it, how is it better than running a suspicious EXE and urn it, especially tha you know your windows runs binary code from a WMF.

      Errr. I give up. Case closed.

      PS: You probably hate that I "defend" MS so much. I'm neither an employee of MS, neither a die-hard fan. Truth is that when you're on top and everywhere, people naturally develop habbit to bad-mouth you (just watch as this happens to Google, like it happened to Yahoo... trust me). The company has to hire plenty of lawyers and perform lots of qyuestionable activites that seem "evil", to stay in business.

      Well I'm just a happy Windows user that believes to have a balanced view of things. Over here though, everyone is eager to demonstrate how much they hate MS, so my opinions naturally seem extreme and biased.

      I've never seen someone bash Linux when it turned out that WINE has the same vulnerability ported 1:1 and it even stayed unpatched longer than Windows.

    60. Re:Every version since 3.0? by mysticgoat · · Score: 1

      I thought I had answered your question, albeit between the lines.

      The Wine team's orientation has been to create a precision, functional duplicate of the Windows API. Not to judge the correctness of that API. They would not have the tools or time, and perhaps neither the experience nor the orientation needed to critique the design documents-- which is in essence what you are suggesting they do. They would not be looking for vulnerabilities and their tools would not be the type that would demonstrate vulnerabilities.

      Look, there should be no expectation that a translator tasked with creating a Russian version of the Origin of the Species would correct any errors of fact or false arguments that Darwin authored. The translation will be good only if what Darwin actually wrote is accurately reflected in the Russian version, with complete preservation of any errors, fallacies, or ambiguities found in the English version. Similarly, Wine should reflect all the behaviors of the Windows API, without regard to anyone's feelings about the desirability of those behaviors.

    61. Re:Every version since 3.0? by mspohr · · Score: 1
      My point was that the architecture of Unix was designed for a multi-user environment from the start which means that the basic design included such things as the ability to assign permissions to files and the concept of an administrator (root) user to do such things as install software and user accounts with lesser privileges to run software.

      OTOH, Windows was a simple single user OS and did not have these considerations at the start and as a result it has been constantly struggling to patch security onto a very poorly architected OS. The WMF vulnerability is only the latest of a long string of problems caused by the poor basic design.

      Windows NT (and XP/2003/Vista) was an effort to improve the architecture but it has clearly failed because of the need to support legacy applications and the fact that they did not address the fundamental architecture problems. The fact that all of the new Windows OSs were vulnerable to the WMF problem shows that nothing has changed.

      Windows really needs to be completely re-written from the ground up with a "network aware" architecture.... of course, it would be much easier to just use *nix.

      --
      I don't read your sig. Why are you reading mine?
    62. Re:Every version since 3.0? by Master+of+Transhuman · · Score: 1

      "So why would Microsoft Research be wasting its time with Singularity if it wasn't going to be turned into a product some day?"

      Reread my post. Is Bill still working there? Fergeddaboutit. Microsoft probably has tons of projects they play with that you'll never see - unless it makes more money for Bill.

      Yes, Microsoft can "market security" - they lie well. But despite a lot of people wanting security, especially in Microsoft's main corporate market, Bill couldn't care less. Because he knows that that he stands to make more money hawking his existing stuff rather than spending development money REALLY bringing an advanced OS to market. Bringing a brand-new OS to market - especially one that would break existing apps and/or force all the Windows developers to rewrite their stuff - would open the door for Linux. He'll never do that. Worse, compete with other OS's on a security basis rather than features? No chance.

      What he will do is hawk the security features of Vista - which the Windows shills are already doing.

      As for lock-in, yes, you noticed that they built that in. The Microsoft developers know which side their bread is buttered on. If anything comes of Singularity, it will be that concept. The problem is, again, it would break existing apps. If Bill thinks he can take over more of the apps market by doing that, he will. Otherwise, he won't.

      --
      Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
    63. Re:Every version since 3.0? by Master+of+Transhuman · · Score: 1

      I believe there was some discussion on another site of whether WINE in fact ported the same bug. I think the conclusion was that they actually did a BETTER job of porting the feature than Microsoft. In any event, it's hardly the WINE Project's motivation to clean up Windows bugs. Their purpose is to let Windows apps run on Linux. They can hardly be expected to examine every ancient Windows "feature" for security holes.

      "If you download WMF from suspicious source and run it, how is it better than running a suspicious EXE and urn it, especially tha you know your windows runs binary code from a WMF."

      And how many Windows users even KNOW this is true? FYI people download and run stuff from Web sites all the time. Why shouldn't they - it's a "feature". And how do any of them what is a "suspicious" site? You think a "suspicious site" runs a banner tag or a metatag saying "suspicious site"? If I was actually running one, I'd make damn sure it DIDN'T look like a "suspicious site." You think porn sites are "suspicious"? Get serious.

      See, this is why you haven't a clue - and why you get criticized for defending Microsoft - BECAUSE you are a "happy Windows user" who hasn't a clue.

      --
      Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
    64. Re:Every version since 3.0? by Anonymous Coward · · Score: 0

      So let's see... Maybe Windows was specifically designed for computers that weren't even turned on... Or maybe you're an idiot. No, don't tell me, I'll get it...

    65. Re:Every version since 3.0? by 2short · · Score: 1

      But, continuing your analogy, someone translating Origin of Species into Russian would in fact need a basic grounding in Biology. Some level of understanding of the topic is necessary to produce a good translation. In particular, if there is a glaring error, one must know if one is faithfully translating an error, or misunderstanding the original text; whether the error is in the translators understanding or Darwins.

      I would guess the WINE team understands the design of the windows APIs better than anyone, quite possibly including the original implementors. The fact that they didn't nottice the problem is certainly an argument that it wasn't blindingly obvious.

      And frankly, it's being obvious ouhgt to be an argument aginst it's being intentional. If MS wanted to put a secret backdoor in Windows, they could easily have done it in a far easier to exploit, and much, much harder to find way. You don't document double-secret backdoors.

    66. Re:Every version since 3.0? by EvilJoker · · Score: 1

      While that is true for UNIX (e.g. System V), the poster said "*nix OSs". BSD basically wrote TCP/IP for the world, and the currently existing projects are fairly new- 1986 for NEXT, up to 1994 for most of the modern BSDs.

      And obviously, Linux was written with networking in mind (at least, once it was clear it would become an OS)

    67. Re:Every version since 3.0? by man_of_mr_e · · Score: 1

      While it's correct to say that Modern Unix based OS's were designed with networking in mind, so was modern Windows. NT (the basis of 2000 and XP) was written with networking in mind from the get go.

      The problem is not the design of the OS, but rather the applications and libraries that sit on top of it. The same goes (largely) for Unix based OS's.

    68. Re:Every version since 3.0? by some+guy+I+know · · Score: 1
      My point was that the architecture of Unix was designed for a multi-user environment from the start
      But that's not what you wrote.
      What you wrote was that "the *nix OSs were designed from the start for a network environment".
      That's just not true, not for the original UNIX, anyway.
      The original UNIX was designed to facilitate Ken Thompson playing Space War on a PDP-8.
      The networking stuff didn't come along until later, and didn't really take off until NFS on Berkeley's version of UNIX (BSD), ten years after UNIX was first created.
      Even then, the security for NFS was severely flawed, in that anyone with root access to any machine on the network could access pretty much any NFS-mounted file.
      --
      Those who sacrifice security to condemn liberty deserve to repeat history or something. - Benjamin Santayana
    69. Re:Every version since 3.0? by mspohr · · Score: 1
      I was using network and multi-user in an imprecise manner. I apologize.

      My point still stands. Unix was designed from the start to accommodate multiple users. Most significantly, it was designed from the beginning to have file permissions and users with different levels of access. This is a fundamental architecture that made it easy to program security.

      Windows, OTOH, was designed as a single user standalone machine and had no provision for access controls. This is a continuing source of problems since it is impossible to patch in security onto this fundamentally flawed architecture. Windows is still suffering to day from basic flaw.

      Early Unix may have had poor security but it was easy to fix it since the underlying architecture (file permissions and user access controls) were in place.

      Windows continues to have poor security since patching on access controls breaks a lot of legacy software. It needs a complete re-write and all new applications.

      --
      I don't read your sig. Why are you reading mine?
    70. Re:Every version since 3.0? by Anonymous Coward · · Score: 0

      Actually IE7 does have a suspicious web site warning.

  2. Ah those were the days. by DrSkwid · · Score: 4, Funny

    > metafile records were completely trusted by the operating system

    when there were no disgruntled employees and no spies (international or industrial)

    everyone used telnet and ftp

    and there was no user 0

    --
    There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
    1. Re:Ah those were the days. by maxwell+demon · · Score: 3, Insightful
      everyone used telnet and ftp

      I think at that time, the typical protocols for those tasks on a PC were "walk to the computer you want to work on" and "floppy disk". Internet just wasn't that common outside academic institutions.
      And Windows 3.x was single-user anyway (i.e. as soon as you had physical access to a computer, you didn't need to play any tricks with WMF files, you just could put your code in a .COM or .EXE and start it directly).
      --
      The Tao of math: The numbers you can count are not the real numbers.
    2. Re:Ah those were the days. by Anonymous Coward · · Score: 0

      No, every user was user 0.

    3. Re:Ah those were the days. by DrSkwid · · Score: 1

      You are forgetting 1 significant product :

      Novell Netware

      --
      There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
    4. Re:Ah those were the days. by Locutus · · Score: 1

      This reminds me of how "aware" of TCP/IP networking Microsoft was. They didn't own their own TCP/IP stack until sometime around the early to mid 1990's. It was 1992( IIRC ) that I had an AMD based 386/40 with 10MB of RAM running on a companys TCP/IP and Novell networks. The OS on this PC was IBMs OS/2 and I used it for email, filesharing, backups, development, and to keep me from having to run to the labs Sun computers( via the PMX Xserver ).

      ya, nobody did networking or worried about network security in THOSE days. NOT. Doesn't this remind you of a story about an Ostrich( http://www.cybertime.net/~ajgood/ostrich.html )?

      LoB

      --
      "Anyone who stands out in the middle of a road looks like roadkill to me." --Linus
    5. Re:Ah those were the days. by Ekevu · · Score: 1

      About two years ago I had to work under the FDTP (Floppy Disk Transfer Protocol) because the network hub was jammed.

  3. It's a backdoor asshat by ThoreauHD · · Score: 0, Offtopic

    Next you'll propose a weather balloon or flock of seagulls that leaves this remote accesss intact for 15 years.

  4. Why does Windows have so much legacy? by antifoidulus · · Score: 4, Interesting

    Windows 3.0?! Ok, if it was a problem back then, why didn't it get fixed when the security environment changed? Windows has too much of a legacy going for it, and I'm surprised they held on to it this long. Apple realized that it's legacy code was no good years ago and succesfully ditched it in favor of something more modern, why can't windows do the same?

    1. Re:Why does Windows have so much legacy? by heavy+snowfall · · Score: 5, Funny

      More importantly: when is the patch for 3.1 and MS Bob coming out?

    2. Re:Why does Windows have so much legacy? by CyricZ · · Score: 1, Insightful

      Remaining in the PC world for the moment, let's look at SCO OpenServer. It still has compatibility with Xenix programs written in the early 1980s, before Windows 1.0 was even conceived, let alone released. Then there are mainframe systems today offering compatibility with software going back to the late 1960s.

      Legacy support isn't the problem. There are many software products offering legacy support far beyond that of Windows that work just fine, with a relatively good degree of security.

      The problem would be poorly written code building upon poorly written code, year after year, decade after decade. That appears to be the case with much of Microsoft's software, save the last five or six years.

      --
      Cyric Zndovzny at your service.
    3. Re:Why does Windows have so much legacy? by Quarters · · Score: 1
      "Apple realized that it's legacy code was no good years ago and succesfully ditched it in favor of something more modern"

      No. Apple ditched their code in favor of something that predates Windows.

    4. Re:Why does Windows have so much legacy? by maxwell+demon · · Score: 1
      "Apple realized that it's legacy code was no good years ago and succesfully ditched it in favor of something more modern"

      No. Apple ditched their code in favor of something that predates Windows.

      Those two statements don't contradict each other. Just because something was produced later doesn't mean it's more modern. A newly made horse carriage is less modern than a 50 years old car.
      --
      The Tao of math: The numbers you can count are not the real numbers.
    5. Re:Why does Windows have so much legacy? by IamTheRealMike · · Score: 5, Informative
      Windows 3.0?! Ok, if it was a problem back then, why didn't it get fixed when the security environment changed?

      There are a large number of 16 bit (ie Win3.0/3.1) apps out there that are still in industrial use. They tend to be obscure things - applications for subtitling TV transmissions, interfacing to medical kit etc. Although it may be hard for you to believe there are no apps out there more than 10 years old in fact there are, and often the computers these apps run on are upgraded to new versions of Windows as time goes by (because it'd be a huge pain to have like 8 versions of Windows in use in a single organisation).

      Fixing this flaw does in fact break backwards compatibility, and that means somewhere some random app we've never heard is is broken right about now - of this I am almost certain. That has a cost, and nobody wants to break peoples apps and cause network admins headaches without good reason.

      Apple realized that it's legacy code was no good years ago and succesfully ditched it in favor of something more modern, why can't windows do the same?

      Apple did no such thing - they maintained a compatibility mode in the OS and more importantly kept the Carbon APIs around mostly complete so legacy code could be ported over very easily. And of course, Apple had hardly any mission-critical apps running on their platform anyway so the pain and cost was much less than it would be for Microsoft.

      In fact, Windows does run Windows 3.1 apps in a VM type process these days, it's called a WoW (Windows on Windows) VM, but the integration is so tight most users never even realise it. Except for looking a bit dated the apps continue to run correctly and appear on the same desktop etc. In other words, Microsoft already did what you asked for!

      Now it didn't mitigate this vulnerability, because the Microsoft developers who wrote the Windows Image/Fax viewer wanted to support every file format they could, and when supporting WMF was so easy why not do it? They unfortunately didn't get the memo about this being a potential attack vector: this is a failure of corporate communications, and perhaps over-zealous developers, not a failure of operating system design.

      As an interesting historical aside, Raymond Chen has said that back in the early days of the Windows 95 project there were in fact two competing approaches to 3.1 compatibility: a VMware type approach where the 16 bit environment ran inside a window box that was in turn running a copy of Windows 3.1 .... and the approach they actually ended up using which was based on API thunks. The thunk approach was more complex but had much better integration, much lower resource usage (not running two operating systems on top of each other) and in usability tests came out on top every time. Everybody who tried the tight integration approach preferred it, and MS management felt they couldn't ask users to put up with a very jarring experience - potentially forever, in the case of apps that'd never be ported to Win32.

    6. Re:Why does Windows have so much legacy? by jrockway · · Score: 1

      > Fixing this flaw does in fact break backwards compatibility, and that means somewhere some random app we've never heard is is broken right about now - of this I am almost certain

      A worldwide botnet that cripples the Internet is the potential price to pay for (ass-) backwards compatibility? No fucking thanks. Hint: if you want real backwards compatibility, release the source. Then it's a small matter of changing a few lines when your critical functionality becomes a virus infection vector.

      --
      My other car is first.
    7. Re:Why does Windows have so much legacy? by Quarters · · Score: 1

      I was pointing out that that the parent poster's assumption that you have to throw away old stuff is wrong. Tossing Windows and starting over from scratch is not the correct way to fix problems. It would introduce just as many (if not more) problems than it would fix. Read why refactoring is bad. Apple tried just that approach with Copland and languished for years trying to get it all to work correctly. They eventually had to go buy NeXT because they were out of time, money, and options. They didn't go to what we now know as OS X for modern security reasons. They went to it because they had to do something or else they would've gone out of business. That OS X is secure has nothing to do with the fact that it is newer than OS 9 (it isn't, really). It has to do with the fact that the code it's based on has been maintained and updated over the years instead of being tossed and rewritten everytime a flaw was found.

    8. Re:Why does Windows have so much legacy? by Catbeller · · Score: 1

      You all do realize that Gibson found the flaw in Windows 2000, not Windows 3.0?

      Microsoft said that the flaw DATES from Windows 3.0, and is present in all versions since then.

      NOT JUST WINDOWS 3.0! (Sheesh!!!)

    9. Re:Why does Windows have so much legacy? by petermgreen · · Score: 1

      There are a large number of 16 bit (ie Win3.0/3.1) apps out there that are still in industrial use. They tend to be obscure things - applications for subtitling TV transmissions, interfacing to medical kit etc.
      i'd imagine a great many of those are unlikely to run on the NT lineage (reliance on direct hardware access etc) and they probablly run on dedicated pcs anyway.

      still its a good indication on why you should require source for anything you rely on that isn't well supported off the shelf software.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    10. Re:Why does Windows have so much legacy? by Kosgrove · · Score: 1

      While I don't disagree with your post, I think you have the meaning of refactoring confused. Refactoring implies rewriting a single block of code to make the code run faster or more readable while not changing the functionality of that block of code. Rewtiting an entire application from scratch doesn't really qualify as refactoring, since in doing so you would have to change the functionality (moving from error codes to exceptions, per se).

    11. Re:Why does Windows have so much legacy? by chill · · Score: 1

      Windows has too much of a legacy going for it, and I'm surprised they held on to it this long. Apple realized that it's legacy code was no good years ago and succesfully ditched it in favor of something more modern, why can't windows do the same?

      Apple?! With all due respect to Apple fans, their market share is insignificant next to Windows. There are tons of manufacturing and industrial shops using software running on Windows 3.1, DOS, OS/2, OS/9000 and other "legacy" operating systems.

      Apple's segment of the market is one that upgrades whenever Steve invents a new shade of blue for the case. Industrial manufacturers frequently take the attitude "if it ain't broke, don't fix it" and have custom software that was written in GW-BASIC, Pascal or Cobol that has been running PERFECTLY for 10-20 years.

      I've been called in twice in the last two years to maintain code where the original company was not only out of business, but the main programmer has DIED. Hell, in one case he died 5 YEARS AGO and "Company A" was still running the software on a laser cutting machine blissfully ignorant until they needed to make a code change.

      One other company ended up paying $995 for a driver that allowed their OS/9000-68K ultrasonic bonding machine to WRITE TO MSDOS-FORMAT FLOPPY DISKS. You remember OS/9000-68K? It came out the year BEFORE Apple released the Mac -- 1983.

      Exactly how many people still run businesses on Apple IIs or Lisas?

      So the short answer to your question as to why Microsoft doesn't dump the "legacy" code like Apple is because there is still money to be made and customers to support.

        -Charles

      --
      Learning HOW to think is more important than learning WHAT to think.
    12. Re:Why does Windows have so much legacy? by VGPowerlord · · Score: 1
      You all do realize that Gibson found the flaw in Windows 2000, not Windows 3.0?

      Please read comments before you respond to them. For instance, the following things were mentioned in the article that are newer than Windows 3.0:

      1. Windows 3.1
      2. Windows 95
      3. "Windows Image/Fax viewer" AKA Microsoft Picture and Fax Viewer, introduced in Windows XP
      --
      GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
    13. Re:Why does Windows have so much legacy? by operagost · · Score: 1

      This is why I still use Windows 286 2.1. The only drawback is that basically all I can do with it is play Reversi. I'm still hoping that Aldus will come out with a new 2.x compatible version of Pagemaker, though.

      --

      Gamingmuseum.com: Give your 3D accelerator a rest.
    14. Re:Why does Windows have so much legacy? by operagost · · Score: 1
      I've been called in twice in the last two years to maintain code where the original company was not only out of business, but the main programmer has DIED. Hell, in one case he died 5 YEARS AGO and "Company A" was still running the software on a laser cutting machine blissfully ignorant until they needed to make a code change.
      As tempting as it may be, when you run into this situation NEVER TRY NECROMANCY. The programmer's usually too decomposed to remember anything by then and often tries to eat your sweet, juicy brains. Man, when that happened I quit my job with "Pet Sematary Technology" on the spot.
      --

      Gamingmuseum.com: Give your 3D accelerator a rest.
    15. Re:Why does Windows have so much legacy? by Quarters · · Score: 1

      I stand corrected. Thank you.

    16. Re:Why does Windows have so much legacy? by Locutus · · Score: 2, Informative

      Part of the design for how Windows95 ran Windows3.x code probably had to do with how the competition ran that code. For instance, IBM was selling a million copies a month of 32bit OS/2 when Windows95 was finally released and OS/2 was a major threat during the formative years of Chicago. Running those old apps in a VM like OS/2 did, resulted in two different look/feels and really made the old Windows3.x stuff seem old and outdated to the user. Microsoft needed users to THINK they had a new system even when running the old code. When Windows95 finally shipped, OS/2 had a good number of native applications running on it along with all the Windows3.x applications which ran on it too. Heck, Microsoft even went so far as to tell the press/public it was a new 32bit operation system when the techies were showing them it wasn't...Dos/Windows95 was a hack to beat OS/2 when 32bit WindowsNT v3.1 turned out to be overbloated as a destkop OS. The fact that it has the flaws of Windows3.x should not be a surprise. And looking back at how poorly Microsofts tools on WinowsNT v3.1, 3.50, 3.51, and 4.0 applications used multi-threading, it shows that they did very little redesign above the system kernel and did more porting of the application/tools and most likely much more. Again, not a surprise that flaws show up all the way down the lineage when the "feature" existed back that far. How would you have liked to be a developer at Microsoft when they failed to beat OS/2 with NT and then started hacking on DOS/Windows for 3 years to only come out with the hack that was DOS/Windows95? Intel and Microsoft fractured some on this when Intels 32bit PentiumPro CPU ran slower on DOS/Windows95 than it's older Pentium( 150MHz vs 150MHz )....

      BTW, how many times has Microsoft told the press that they were rewriting and redesigning their new operating system? We're getting close to needing another hand to count them. It is why Microsoft is really much more of a Marketing Company and than a technology company. They rely less on techical solutions to their "problems" and more on smoke and mirror kinds of solutions IMO. And had they done things right, they wouldn't need to rely so much on fake "Get the Facts" programs either. But THAT Microsoft never existed so there's not much hope of it ever happening. So Microsoft Windows still sucks and history shows that it will for another decade or more no matter what lies, half-truths, fabrications come out of their executives mouths. IMO.

      LoB

      --
      "Anyone who stands out in the middle of a road looks like roadkill to me." --Linus
    17. Re:Why does Windows have so much legacy? by csirac · · Score: 1

      I just spent the last week designing, building and testing an ISA card that can emulate an old Boca BB-1008 RS232 8-port serial card from circa 1990.

      It's for backup of a data acquisition unit in an oil & gas data logging setup... and it all runs on an old 16-bit MS-DOS app. Desqview & QEMM... this stuff is not going away any time soon (but they are working on it... slowly), because it "just works" - the windows software they've tried using is still b0rk3d in several ways that they can't tolerate in the environment they're in.

    18. Re:Why does Windows have so much legacy? by NaDrew · · Score: 1
      Desqview & QEMM... this stuff is not going away any time soon
      Aw man, you bring tears to my eyes. I did tech support for Quarterdeck back in '95 -- mostly QEMM with a bit of CleanSweep in there for (painful) variety -- and I dearly remember the pain of getting QEMM and Win95 to live together peacefully.
      --
      Vista:XPSP2::ME:98SE
  5. Computer Entomology by Device666 · · Score: 0, Offtopic

    Entomologists are people who like to collect en conservate bugs. If you check out the lemma "entomology" at wikipedia you will read:"Entomology is the scientific study of insects. Insects have many kinds of interactions with humans and other forms of life on earth, so it is an important specialty within biology; unlike many other fields however, entomologists include both persons studying insects for their own sake, and those employed by commercial concerns interested in the control of insects."

    Who would not conservate the very famous Pentatomidae Metadatadactylo? I think Microsoft is just being very friendly to insects.

  6. Security a top priority since 2002 by sl4shd0rk · · Score: 3, Informative

    It's nice to know they are taking such a proactive stance on the issue of security. http://news.com.com/2100-1001-816880.html

    --
    Join the Slashcott! Feb 10 thru Feb 17!
  7. Inverse security evolution by maxwell+demon · · Score: 5, Interesting

    An interesting quote from the first link:

    With WMF we want to be very clear: the Windows 9x platform is not vulnerable to any "Critical" attack vector. The reason Windows 9x is not vulnerable to a "Critical" attack vector is because an additional step exists in the Win9x platform: When not printing to a printer, applications will simply never process the SetAbortProc record.

    Which makes me wonder, why on earth did they remove that security measure in later versions of Windows?

    --
    The Tao of math: The numbers you can count are not the real numbers.
    1. Re:Inverse security evolution by BoneFlower · · Score: 3, Insightful

      My guess is they redid the printing system, and didn't fully check what other windows systems were affected.

    2. Re:Inverse security evolution by cnettel · · Score: 3, Insightful
      Or even that printing under NT has used different drivers and different stuff in general than 9x. 95 and classic NT device drivers are REALLY different, although 98 and later supported WDM drivers by emulating a (small) subset of the NT kernel.

      Put another way: In NT 4 and later, GDI calls are translated to kernel service calls, in 32-bit. In 9x, it's thunking to a globally mapped 16-bit DLL...

    3. Re:Inverse security evolution by Anonymous Coward · · Score: 0

      Even better, what happens if you try to print a page with an image that contains the WMF exploit?

      According to what I understand, this would trigger the vulnerability, since you are now printing to a printer. People print web pages all the time, so they can't claim it is an unusual or difficult operation.

      If simply printing a page can allow the exploit, Win98 meets their definition of critical and it deserves a proper update.

      Mike Monett

    4. Re:Inverse security evolution by DrPizza · · Score: 1

      Probably because it was never there to remove. Windows 2000/XP/2003 are not derivatives of Windows 9x, so the 9x code change was never visible; different source tree, different developers, different managers.

      Now, you might ask why they didn't /port/ the change to the NT family. I would not be surprised to find that whoever was responsible for the 9x change just never thought about it; the products were developed quite independently, because they were completely separate. It's one of the many reasons MS wanted to move to a single code-base....

    5. Re:Inverse security evolution by m50d · · Score: 2, Informative

      They didn't remove it, it was just never added to the new program (windows printer and fax viewer) when it was written. If this was there as a fix in win9x then this shows why it's important to update specifications with security fixes, but it could just as easily be different application writers taking different approaches and one of them incidentally fixing the flaw.

      --
      I am trolling
    6. Re:Inverse security evolution by RingDev · · Score: 1

      Windows 2k, XP, 2k3 are all NT derivatives. 95/98/ME came from the 95 code base. The people responsible for 95 were completely seperate from the people responcible for NT.

      -Rick

      --
      "Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
    7. Re:Inverse security evolution by Locutus · · Score: 1

      Remember, Microsoft ONLY considers a security issue CRITICAL when it can automatically propogate on a network. So, because a dialog box will pop up when this flaw is activated means that it is not automatic and therefore not CRITICAL in their eyes. How convenient for them.

      LoB

      --
      "Anyone who stands out in the middle of a road looks like roadkill to me." --Linus
  8. Pentatomidae Metadatadactylo by Device666 · · Score: 0, Redundant

    Entomologists are people who like to collect en conservate bugs. If you check out the lemma "entomology" at wikipedia you will read:"Entomology is the scientific study of insects. Insects have many kinds of interactions with humans and other forms of life on earth, so it is an important specialty within biology; unlike many other fields however, entomologists include both persons studying insects for their own sake, and those employed by commercial concerns interested in the control of insects." Who would not conservate the very famous Pentatomidae Metadatadactylo? I think Microsoft is just being very friendly to insects.

    1. Re:Pentatomidae Metadatadactylo by Device666 · · Score: 0, Offtopic

      yeah but I made a mistake. It was a loose quasi offtopic reaction, not a real reply ;-)

  9. Make Gibson look like an arse by Anonymous Coward · · Score: 0, Troll

    No doubt he'll come back and 'prove' this chap is a lier and continue to bang on about this for months. Gibson is a guy that seems to be able to generate a lot of traffic to his site without really being that good at what he does - all smoke really. Just look at the snake oil he pedals and judge for yourself.

    But really people, this is ancient code from Windows 3.0. Cut the guys a break. It's not like other OS's don't reuse code from previous releases that are later shown to have bugs.

    They released a tested patch in good time that didn't have any nasty after effects.

  10. Odd thing to introduce... by makomk · · Score: 4, Interesting

    Seeing as I didn't get an answer last time (probably posted too late), I'll re-post my response when this was linked to in a comment in a previous article:

    Interesting - according to the article, Win95/98/ME don't actually run the hook set via SetAbortProc when rendering a metafile (unless you're printing it and the print job is aborted), but some change was introduced in 2000/XP such that it was called after the next metafile record is processed (which is an *extremely* odd thing for Windows to do, considering what SetAbortProc was designed to do). This seems to fit with what people are reporting (and explains why the Metasploit exploit, which adds leading and trailing records, works).

    Maybe Gibson was accidentally on the mark about it being an intentional backdoor. After all, that's about the same time a vulnerable program able to display metafiles was introduced and bundled with Windows (was that in 2000 or XP?).

    1. Re:Odd thing to introduce... by ZOverLord · · Score: 1

      100 Percent Agreed. For some reason, also Many people are overlooking the fact that Microsoft Buffed-Up IE ("as stated in their OWN statement") once they learned that this metafile could execute code while it was being rendered, and not just during a printer error. At that same time they left the most ABUSED HTML devlivery method IFRAME still execute this code, why? Did they not realize this so called BUG is in the GDI library? It's very possible that we may have STUMBLED on a fragment of "Magic Lantern" created around the same time by the FBI, any bets we would ever learn the truth? Seems Microsoft was very protective of this by their IE changes to let it remain as is, yet when it went public it became OK to throw the Baby Out With the bath water, by using a Chain-Saw to remove this logic COMPLETLY...ah, so much for LOVE ;-)

      --
      Black Gray White Hats Unite to protect http://testing.OnlyTheRightAnswers.com
    2. Re:Odd thing to introduce... by DrPizza · · Score: 2, Informative

      I haven't seen any evidence thus far that a change was introduced in 2000/XP. So far, everything suggests that it's always been in the NT 3.1 line.

      What "saved" windows 9x is that it was a completely different code-base from NT (derived from Win3.x); it was likely altered independently by the 9x product team. But because of the separate code-bases there was no cross-pollination of this change to the NT line. Presumably the recent patch implements an equivalent fix (so that SetAbortProc is only handled when actually printing). Or perhaps it removes the functionality altogether, as even when printing, the behaviour seems risky.

      It may well be that this "defer until the next record is read" behaviour exists in 9x (even if when actually printing) and Win3.x too.

      Rather, the issue that arose in XP and 2003 is that they bundled a COM control that could handle WMF files, and which assumed them to be trustworthy.

      IE was deliberately neutered because in IE it's obvious that any WMF file /isn't/ trustworthy. But in the Fax Viewer thingy, such an assumption can't be made. The WMF files it views could come from anywhere; some sources friendly, others hostile. So it is not altogether surprising that it did not have an equivalent change made to it.

    3. Re:Odd thing to introduce... by lseltzer · · Score: 1

      Nice try, sorry. The WMF implementation change was in Windows 2000, but the Windows Picture and Fax Viewer came in with Windows XP. Windows 2000 by default has no program associated with WMF.

      The Toulouse blog basically proves, as if it weren't obvious, that Gibson is full of crap.

    4. Re:Odd thing to introduce... by Kiaser+Zohsay · · Score: 2, Insightful

      The Toulouse blog basically proves, as if it weren't obvious, that Gibson is full of crap.

      The Toulouse blog states that Gibson is full of crap, without providing any proof. He says the flaw can be triggered with a correct record length, but does not state anything about what conditions might be the trigger. Not that I would expect him to provide those details, but that's what it would take to prove Gibson wrong. Toulouse's response amounts to "Pay no attention to the man behind the curtain" or "These are not the droids you're looking for".

      I suppose the proof is in a briefcase, along with all of the UNIX code that IBM copied into Linux.

      --
      I am not your blowing wind, I am the lightning.
    5. Re:Odd thing to introduce... by lseltzer · · Score: 3, Informative
    6. Re:Odd thing to introduce... by Anonymous Coward · · Score: 0

      So it's people that you that manage to keep Gibson relevant. Please die.

    7. Re:Odd thing to introduce... by Reziac · · Score: 1

      Thank you. I've been arguing with folk elsewhere about why this can't be an intentional back door, and the only real reason they've had was the specificity of the "length==1" thing.

      The reasons I have against the idea are:

      -- Back when the spec was designed, Windows PCs almost never spoke to another PC by any means other than a floppy disk, and Windows internet access didn't exist outside of closed services like AOL and CI$.

      -- WMF files were never widely used (hardly at all outside of page-layout apps), partly because the average printer of the day couldn't handle graphics.

      So... explain to me what USE such a backdoor would have been at the time the WMF spec was designed??

      Side thought: has anyone checked whether the vulnerability might inherit from the older CGM spec??

      --
      ~REZ~ #43301. Who'd fake being me anyway?
    8. Re:Odd thing to introduce... by NaDrew · · Score: 1
      I suppose the proof is in a briefcase, along with all of the UNIX code that IBM copied into Linux.
      Ahh, so that's what was in there. Makes much more sense now!
      --
      Vista:XPSP2::ME:98SE
  11. Source code leak? by erroneus · · Score: 2, Interesting

    Has anyone looked at the leaked source code to determine anything from the code written there? I've never actually seen or possessed the code and I wouldn't know where to look even if I did. But I'm sure SOMEONE out there still has it and so I wonder if anyone has examined the source to see if anything interesting appears there?

    1. Re:Source code leak? by SpaceLifeForm · · Score: 1
      Initial reports are that this code was not part of the leaked code.

      --
      You are being MICROattacked, from various angles, in a SOFT manner.
  12. Why make it a vulnerability? by NorbrookC · · Score: 2, Interesting

    What I found interesting was this quote:

    The reason Windows 9x is not vulnerable to a "Critical" attack vector is because an additional step exists in the Win9x platform: When not printing to a printer, applications will simply never process the SetAbortProc record. Although the vulnerable code does exist in the Win9x platform, all "Critical" attack vectors are blocked by this additional step.

    Well, that explains (sort of) why they didn't feel obligated to update the 9x series, but it lacks a great deal of explanation as to why they would:

    a. Keep what they knew could be a problem,

    b. Make it even worse in their "new" edition.

    I can see why they might have put it in in the first place, as a way to cancel printing, but what I still can't understand is why you'd extend to that extent.

    Oh... yeah... it's Microsoft!

  13. "Landscape has changed" by jav1231 · · Score: 5, Insightful

    I think maybe Windows' landscape has changed but security wasn't so passe' to other software makers. I wonder how much arbitrary code could have been executed by UNIX or even Netware in those days? And I leave open the possibility that it could have. In the long run, this was left uncheck and maybe forgotten for what, 12-15 years now? And more importantly, was brought right into the server code from the desktop code.
    I think therein lies the fundamental problem with Windows and why SA's warned for years about Microsoft's assbackwards approach to security. Windows is at it's heart a desktop OS and as such has a reverse understanding of security.

    1. Re:"Landscape has changed" by Octorian · · Score: 1

      Yup, Windows is a desktop OS that people pretend is a server OS.

      Sure, MS *could* make Windows into a real server OS, but it would require some pretty substantial changes that would alienate their entire click-and-drool sysadmin community. (Not saying all Windows sysadmins are the click-and-drool type, but probably a very large percentage probably are.)

    2. Re:"Landscape has changed" by IamTheRealMike · · Score: 1, Interesting
      Windows was a desktop operating system, and generally they must be able to do many things rather unlike the equivalent server OS which must be able to do only one or two things but very well.

      If you want to compare like with like, you must check Windows against MacOS. Both MacOS Classic and OS X have a very poor track record of security: there have been multiple instant code execution exploits for OS X that can be triggered via a web browser in brand new code, not stuff that was written decades ago. Worse, there are tutorials out on the net showing you have to write programs that, eg, dump the contents of forms on Safari SSL connections - so you can quite easily write spyware that simply sends bank details to the owner.

    3. Re:"Landscape has changed" by Anonymous Coward · · Score: 1, Interesting

      I'm suprised that for a company that calls it self innovative that they didn't anticipate the landscape changing and updated their softwares appropriately.

    4. Re:"Landscape has changed" by Anonymous Coward · · Score: 0

      you have any examples about remote code execution for mac classic if file sharing is turned off?

    5. Re:"Landscape has changed" by multipartmixed · · Score: 4, Informative

      > I wonder how much arbitrary code could have been executed by UNIX
      > or even Netware in those days?

      Plenty. At one point, it was possible to hack a Sun box running sendmail using nothing more than telnet.

      Yeah, baby, a root shell prompt without even logging. Now THAT was scary.

      --

      Do daemons dream of electric sleep()?
    6. Re:"Landscape has changed" by lseltzer · · Score: 1

      The "Landscape has changed" reference in the /. article is a bit of a misrepresentation of the Toulouse reference.

      The real point was that this was still the era of non-preemptive (cooperative) multitasking among Windows applications. The point of having a callback was that it was the only way to cancel a print job was through a callback. So there was a reason for having this design, even if it was long-term-stupid.

    7. Re:"Landscape has changed" by mrsbrisby · · Score: 1

      I wonder how much arbitrary code could have been executed by UNIX

      Heh, you don't remember sendmail or BIND do you?

      Of course, the Sendmail and ISC groups appear to have the mind-think of Microsoft, so maybe this isn't really a jab at UNIX, but simply at people who used these pieces of junk...

      I think maybe Windows' landscape has changed

      Yup. They're almost up to 1997.

    8. Re:"Landscape has changed" by Anonymous Coward · · Score: 0

      I wonder how much arbitrary code could have been executed by UNIX or even Netware in those days?

      By those days, you mean somewhere around 1988, right? Nah, nothing could happen back then.

    9. Re:"Landscape has changed" by thetoastman · · Score: 3, Interesting

      Ah yes, the DEBUG mode in sendmail. I remember it well, since I spent an entire day patching sendmail from various vendors during the Robert Morris, Jr. Internet worm.

      I know there have been lots of other unpleasant security issues with sendmail over the years. However, that particular one could have been completely avoided if the people releasing binary copies of sendmail had read the Makefile.

      Also, another point needs to be made. Sendmail is not a part of the UNIX OS. It is an additional program which doesn't need to be present in order for a UNIX system to function. The vulnerabilities in Windows are a part of the OS.

    10. Re:"Landscape has changed" by Overly+Critical+Guy · · Score: 1

      Citations, please. There hasn't been any virus or trojan exploit in OS X since its inception. Even army.mil is hosted on OS X Server.

      I'm always hearing from random people who say "Oh, it's quite easy to write OS X spyware." Yet we never, ever see it.

      --
      "Sufferin' succotash."
    11. Re:"Landscape has changed" by Overly+Critical+Guy · · Score: 0

      Anyone remember how many years it was you could gain root access in Linux without a password just by passing a parameter to LILO? You had to have physical access to the box, but still.

      --
      "Sufferin' succotash."
    12. Re:"Landscape has changed" by multipartmixed · · Score: 1

      > Anyone remember how many years it was you could gain root access in Linux ?
      > without a password just by passing a parameter to LILO?

      This is a total red herring. Unless you a running an encrypted filesystem, you can do it easily on *any* platform.

      Solaris -> Boot from CD, mount the partition care about on /a
      (or) "STOP-A, boot -s" for single user mode [what you're talking about]
      Linux -> Boot from Knoppix, mount the partition on /dev/hda

      See a pattern here? I'm sure the equivalent exists on Windows, but I'm no MS Guru.

      Wes

      --

      Do daemons dream of electric sleep()?
    13. Re:"Landscape has changed" by EvilSporkMan · · Score: 1

      I thought you could still do it - that's how rescue mode works. You just append "single" to the boot line.

      --
      -insert a witty something-
  14. Illegal byte size in the metafile record by Thorwak · · Score: 0, Insightful

    Gibson claimed that the flaw could be exploited only by using a byte size of 1 in the metafile record, which Toulouse says is incorrect.

    Yeah, so? Most bugs of this kind is triggered by passing "broken" data.

    --
    Connection closed by foreign host.
    1. Re:Illegal byte size in the metafile record by Jerry+Coffin · · Score: 3, Insightful
      Yeah, so? Most bugs of this kind is triggered by passing "broken" data.

      It's important (from MS' viewpoint) because Gibson used the incorrect data to support a claim that this was an intentional backdoor. Given Gibson's general modus operandi, I'm sure the data being entirely incorrect won't slow him down a bit, but at least anybody with a somewhat unclouded view of reality realizes he was full of nonsense.

      While you can trigger this with broken data, those who RTFA realize that the broken data is entirely incidental.

      --
      The universe is a figment of its own imagination.
  15. Cold War junk code? by AHuxley · · Score: 2, Funny
    I have always wondered about code from the mid 80's and the East Block.
    Thinking back to http://it.slashdot.org/article.pl?sid=04/03/02/071 9247


    Was M$ helpeing to add a little extra into the USSR as US software flooded east?
    The fun of a free door into any network thanks to M$ moving around the world?

    In America bad code is no problem, it is just for end users.
    In Soviet Union, expensive stolen code kills YOU.

    Was M$ just a CIA front company gone too far?

    --
    Domestic spying is now "Benign Information Gathering"
    1. Re:Cold War junk code? by eobiont · · Score: 1

      According to this guy http://www.rense.com/general3/coca.htm Coca-Cola has been working with the CIA to spy on several foreign governments for years, so I guess that it is not that far fetched that the CIA would use Microsoft as well.

  16. Incorrect sizes? by sqlrob · · Score: 1

    He surmised that Gibson's tests had the offending function as the last entry in the metafile, which caused only incorrect sizes to trigger the flaw

    Then how come only size 1 worked, not other incorrect sizes?

    1. Re:Incorrect sizes? by rusty0101 · · Score: 1

      Likewise, if you correctly identify the record size, but include the binary code to be executed in place of the expected wmf data to say draw a line, what would cause the setabort event to trigger?

      Presumably if a record exists that has invalid data, some sort of failure will happen. Whether that is the first record, last record, or some arbitrary record in the middle of the wmf file. What Steve has reported is that if he sets an invalid record size of 1 on that record, it causes the system to treat the data of the record as an executable program to be executed in a new thread. Setting it to the invalid record sizes of 0, 2, 3, 4, or 5 does not trigger this event, it simply fails.

      I don't know that he ever tried setting the record length to the size of the executable that was included in the record, or if he tried adding records after that record. (Presuming that he did set the correct record lenght, so that the program reading the wmf file might attempt to read another record, even though it should have treated the content of the record with a binary executable in it's data segment as a point to fail.)

      My own suspicion as to why the 2000/XP varient of the WMF reader does not use the same set of controls to not use the printer SetAbortProc code, is that the WMF reader in 2k/XP is based on NT3.1, where they very probably also used the priter code. From what I have seen, the 2k/XP platform is still NT, with a UI that follows the design, but not necesarily the code from 95/99.

      But that's just my suspicions.

      -Rusty

      --
      You never know...
    2. Re:Incorrect sizes? by Anonymous Coward · · Score: 1, Informative
      Then how come only size 1 worked, not other incorrect sizes?

      Ilfak's tester used a size of 17. The metasploit module used a size of 4.

      In fact, I'm pretty sure Gibson is mistaken with his own tester. I tried changing the size (using a debugger) to 3, and that successfully triggered the exploit. So did sizes 4, 5, 6 and 7. I really don't know what he's going on about.

      size==0 doesn't work because there is a check in GDI32.DLL:
      77F4A5CB: mov eax, [edi] ; get length
      77F4A5CD: lea ecx, [eax+eax] ; bytes to words
      77F4A5D0: cmp ecx, eax ; check for overflow
      77F4A5D2: jb short loc_77F4A60F
      77F4A5D4: test eax, eax ; check for zero
      77F4A5D6: jz short loc_77F4A60F
      At loc_77F4A60F is code to place -1 in EAX (-1 is an error in this case), so the function returns an error and GDI32.DLL doesn't even process the record.

      size==2 doesn't work because there is a check to see if the metafile function for the current record is non-zero:
      77F4A602: mov ax, [esi+4] ; function of next record
      77F4A606: neg ax
      77F4A609: sbb eax, eax
      77F4A60B: and eax, esi ; eax will be zero if [esi+4] is zero
      77F4A60D: jmp short loc_77F4A612 ; end of function
      The above code is quite clever. "sbb eax, eax" will place 0 in eax if the carry bit is not set, but will place -1 in eax if the carry bit is set. neg sets the carry bit if its operand is non-zero. So this function fails (zero is an error in this case) if the "rdFunction" field of the metafile record is zero.

      Gibson's WMF looks like this:
      01 00 09 00 00 01 18 00-00 00 01 00 0C 00 00 00
      00 00 01 00 00 00 26 06-09 00 00 00 68 B0 03 00
      00 B8 00 00 00 00 FF D0-C3 00 03 00 00 00 00 00
      The "01 00 00 00" is the little-endian 32-bit size (which is in 16-bit words). You can see here how using a size of 2 causes the next record to start with "26 06 09 00 00 00", which is a record with size==0x00090626 and rdFunction==0. Indeed, replacing "01 00 00 00 26 06 09 00 00 00" with "02 00 00 00 26 06 09 00 00 01" allows the exploit to be triggered, and that is an example of a successful exploit where size==2.

      So the only real erroneous value for size is 0, which makes sense, since a size of 0 would cause the WMF parser to enter an infinite loop as it processes the same record ad infinitum.
  17. Why XP/2000 and not 9X? by KevinColyer · · Score: 3, Insightful

    I wonder whether the reason the wmf vulnerability was fixed in 9X and then broken in XP/2000 has to do with the way the NT stream was created. If I understand it correctly the initially diverged from Win 3.0. Perhaps the code was "fixed" in 9X but they reverted to the NT core code as the development went on into 2000/XP. I hear a lot about the compartmentalisation at MS.

    I am inclined to believe in incompetence before conspiracy theories... (although incompetence does not leave me all warm and glowy)

    1. Re:Why XP/2000 and not 9X? by DaveCar · · Score: 1

      I am inclined to believe in incompetence before conspiracy theories... (although incompetence does not leave me all warm and glowy)

      incompetence in the three mile island/chernobyl vein might!

    2. Re:Why XP/2000 and not 9X? by Zemplar · · Score: 1

      "I am inclined to believe in incompetence before conspiracy theories..."

      or... "Never attribute to malice that which can be adequately explained by stupidity!" - Hanlon's Razor

    3. Re:Why XP/2000 and not 9X? by KevinColyer · · Score: 1

      Exactly - Sadly I am not erudite enough to accurately quote as you did. but I will make a note if it for the future!

      It explains so much...

  18. NEW study finds win 9x more secure by 1800maxim · · Score: 1

    A new study, commenced by xxxxxxxxx found that Windows 95/98/Me operating systems are more secure than Windows 2000/XP.

    [small font] The study was based on [insert number here] 1 [/insert number here] test(s). [/small font]

    Coming up next: which is more secure, Windows or Linux?

    1. Re:NEW study finds win 9x more secure by Klivian · · Score: 2, Interesting

      Windows 95/98/Me operating systems are more secure than Windows 2000/XP.

      The funny thing is, the statement is not as ridiculous as it sounds. They are of course not more secure, but they are actually less likely to get compromised by an attack. Since most of the current malware and virus uses newer functionality which do not exist or function slightly different on the older systems. Resulting in the malware simply not working on those old systems. I guess the mallware writers are not too concerned about backwards compability.

    2. Re:NEW study finds win 9x more secure by Anonymous Coward · · Score: 2, Interesting
      > The funny thing is, the statement is not as ridiculous as it sounds. They are of course not more secure, but they are actually less likely to get compromised by an attack. Since most of the current malware and virus uses newer functionality which do not exist or function slightly different on the older systems. Resulting in the malware simply not working on those old systems. I guess the mallware writers are not too concerned about backwards compability.

      I'd even go so far as to say that when used as designed (single-user clients) were more secure. A box that runs no services listens on no ports, and a box that listens on no ports cannot be compromised remotely. Unbind NetBIOS from TCP/IP (5 minutes) and you eliminate the only attack vector on an out-of-the-box 9x installation. On XP (pre-SP1), you had to manually disable the uPnP service, NetBIOS service, Messenger, probably half a dozen other services that I'd forgotten, and use third-party tools (software "firewalls") to block port 135 and friends. Just about every service that came bundled with XP turned into a hole over the past few years. People running 9x was never affected.

      People running IE (especially with the insecure default settings that enabled Javashit and ActiveX), or Outleak, were hosed -- but they got just as hosed on XP as they did on 9x.

      It's not just that more people are targeting XP - it's that XP presented itself as a much bigger target.

  19. What WINE does by JohnGrahamCumming · · Score: 5, Informative

    I think that their implementation contains exactly the same bug as Windows (as others have pointed out) and that if you take a look at the code you can easily see why (and it's not a backdoor).

    First the file dlls/gdi/metafile.c contains a function called PlayMetaFileRecord with the following signature:

    BOOL WINAPI PlayMetaFileRecord( HDC hdc, HANDLETABLE *ht, METARECORD *mr, UINT handles )

    Which is simply WINE's implementation of the same Win32 API (which is documented here: http://msdn.microsoft.com/library/default.asp?url= /library/en-us/gdi/metafile_1yec.asp)

    The third parameter (mr) is a METARECORD pointer (a METARECORD is just an entry in the metafile and is detailed here: http://msdn.microsoft.com/library/default.asp?url= /library/en-us/gdi/metafile_8j1u.asp) and is the all important header with the following definition:

    typedef struct tagMETARECORD { DWORD rdSize; WORD rdFunction; WORD rdParm[1]; } METARECORD, *PMETARECORD;

    With the rdSize being the size of the record in words, the rdFunction being the function and the rdParm the data (which in the case of an exploit would be executable code). PlayMetaFileRecord handles META_ESCAPE like this:

    case META_ESCAPE:
    Escape( hdc, mr->rdParm[0], mr->rdParm[1], (LPCSTR)&mr->rdParm[2], NULL);
    break;

    You'll note that parameter 3 is a pointer into the metafile parameter block, i.e. if executed parameter 3 would execute code in the metafile. Now Escape has implemented like this (dlls/gdi/driver.c):

    INT WINAPI Escape( HDC hdc, INT escape, INT in_count, LPCSTR in_data, LPVOID out_data )

    and the SETABORTPROC is handled with the following code:

    case SETABORTPROC:
    return SetAbortProc( hdc, (ABORTPROC)in_data );

    So if you have an ESCAPE/SETABORTPROC record in a metafile then under WINE the AbortProc is set to point into the metafile (since in_data is corresponds to &mr->rdParm[2]).

    So it's quite clear from the WINE implementation that this is a way to set a pointer into the metafile for execution. All it would take is that the metafile's AbortProc is called and arbitrary code could be executed.

    In WINE at least this looks nothing like an intentional backdoor. It looks more like a bug caused by the fact that Escape is rather powerful and can set a pointer to code.

    Now it's possible in WINE (I believe) to force the AbortProc to execute with another ESCAPE record that has NEWFRAME as the function. Again looking at the Escape code you'll see that NEWFRAME has handled like this:

    case NEWFRAME:
    return EndPage( hdc );

    EndPage is a standard GDI function (see here for documentation: http://msdn.microsoft.com/library/default.asp?url= /library/en-us/gdi/prntspol_0d6b.asp). If you take a look at the implementation in WINE you see the following code (dlls/gdi/printdrv.c):

    INT WINAPI EndPage(HDC hdc)
    {
    ABORTPROC abort_proc;
    INT ret = 0;
    DC *dc = DC_GetDCPtr( hdc );
    if(!dc) return SP_ERROR;

    if (dc->funcs->pEndPage) ret = dc->funcs->pEndPage( dc->physDev );
    abort_proc = dc->pAbortProc;
    GDI_ReleaseObj( hdc );
    if (abort_proc && !abort_proc( hdc, 0 ))
    {
    EndDoc( hdc );
    ret = 0;
    }
    return ret;
    }

    Note that this function always called the Abo

  20. Re:MS shooting itself in the foot? by Dystopian+Rebel · · Score: 1
    Windows XP Home edition anyone?


    FYI -- Microsoft has announced that it is extending support for XP Home.

    Link: http://www.itnews.com.au/newsstory.aspx?CIaNID=217 61
    --
    Rich And Stupid is not so bad as Working For Rich And Stupid.
  21. FTFA by defile · · Score: 1, Informative
    • The vulnerable code has been there since 3.0, but it wasn't exploitable until very recently.
    • Gibson's claim that it was an intentional vulnerability is bogus (it was bogus before, but just in case you needed confirmation, here it is from Microsoft)

    Thanks.

    1. Re:FTFA by criscooil · · Score: 1
      Let me paraphrase for you:
      1. MS are idiots (crooks, liars, incompetent, etc)
      2. but its not a backdoor because MS say so.
      There. I feel better already.
      --

      My life is an open book ... up to a point.

    2. Re:FTFA by defile · · Score: 1

      but its not a backdoor because MS say so.

      The cat's out of the bag now. There's very little to be gained by lying about it, but so much to be lost if there's evidence of malicious intent and Microsoft covers it up. If there is malicious intent, Microsoft's obligated to investigate, take disciplinary action, and say so. Managers/employees responsible get fired.

      Or maybe you think Bill Gates walked into some developer's office one day 12 years ago and said "put this subtle vulnerability into the WMF handling routine; 9 years from now when our OS is going to support a multi-user security model, this routine will be exposed to something called INTERNET EXPLORER, which will allow for indirect remote root. It'll be glorious! In the meantime, keep it under your hat. K? Cool. Thanks."?

  22. Oh, So That's where the GDI Bug Is..NOT! by ZOverLord · · Score: 0, Troll

    Quote From Microsoft:

    Entire Statement Here:

    http://blogs.technet.com/msrc/archive/2006/01/13/4 17431.aspx

    "potential danger of this type of metafile record was recognized and some applications (Internet Explorer, notably) will not process any metafile record of type META_ESCAPE, the overall type of the SetAbortProc record. That restriction is the reason it's not possible to exploit this vulnerability by simply referencing an image directly in HTML. IE just won't process it"

    So we KNEW that wmf files COULD execute code during rending and BUFF-UP IE and leave the "BUG/Back-Door" as is in the GDI Library?

    Everyone KNEW, WINE would be ported Bug-for-Bug ("Puts his sun glasses on, suddenly seeing a Bright LIGHT in the distance from afar ;-)")

    **COUGH** Hey, this is around the same time "Magic Lantern" FBI lingo got started, NICE FIX Microsoft ;-)

    --
    Black Gray White Hats Unite to protect http://testing.OnlyTheRightAnswers.com
  23. Stop, and think for a moment by anzev · · Score: 4, Informative

    Ok, i've been reading about this for much too long. It seems that there are two main issues here, how the flaw went unnoticed and why Microsoft didn't reimplement the whole legacy thing.

    Did anybody even RTFA? I've seen a lot of people already writing that Microsoft should have re-implemented the Legacy code, yadayadayada, write a new OS from scratch, introduce a new virtual machine just for OS compatibility. However, you all missed something very important. WMF is a well-defined standard (not saying a good one, but a well-defined one!) which means that Microsoft (or Wine for that matter) HAS TO IMPLEMENT IT WITH CERTAIN CONSIDERATIONS. One of them, is the SetAbortProc procedure that's been causing so much trouble. If Microsoft would failed to implement one part of this standard we would be getting comments like "M$ is 3vil, they don't respect standards...". I bet they're sorry that the security flaw got missed. I think it shows on their stock also! But non the less, it's fixed now.

    Come to think of it, I think that, in a world where there were no exploits (PC-wise) the whole callback function scenario was pretty cool. You'd just say that if something fails, notify the user with this procedure in my code, and since you already no it failed (no return false statement :-) ), you can also do some other tasks.

    One more sidenote, Microsoft HAS REIMPLEMENTED the code. This is proven by the following statement in the article:

    With WMF we want to be very clear: the Windows 9x platform is not vulnerable to any "Critical" attack vector. The reason Windows 9x is not vulnerable to a "Critical" attack vector is because an additional step exists in the Win9x platform: When not printing to a printer, applications will simply never process the SetAbortProc record. Although the vulnerable code does exist in the Win9x platform, all "Critical" attack vectors are blocked by this additional step.

    I have no idea why they've let this slip though in the XP.

    1. Re:Stop, and think for a moment by Anonymous Coward · · Score: 0

      With WMF we want to be very clear: the Windows 9x platform is not vulnerable to any "Critical" attack vector. The reason Windows 9x is not vulnerable to a "Critical" attack vector is because an additional step exists in the Win9x platform: When not printing to a printer, applications will simply never process the SetAbortProc record. Although the vulnerable code does exist in the Win9x platform, all "Critical" attack vectors are blocked by this additional step.

      Except when you print a page containing the exploit. The image could have height and width set to one like a web bug. It would be invisible.

      Now when you print the page, Win98 allows the exploit. So it meets their definition of Critical.

    2. Re:Stop, and think for a moment by rodgerd · · Score: 1
      I have no idea why they've let this slip though in the XP.

      Because when they re-implemented it from scratch for the NT code line, like all the slashweenies suggested, someone made a cock-up not in the original code.

      Plenty of people have linked to Joel Spolsky's essay on why rewrites from scratch can be a bad idea, so I won't bother. But he addresses precisely the problem of people re-creating already solved problems when you rewrite.
    3. Re:Stop, and think for a moment by Shardis · · Score: 1

      Come to think of it, I think that, in a world where there were no exploits (PC-wise) the whole callback function scenario was pretty cool.

      Sorry, but it has never at any time been true that there has been 'a world where there were no exploits' (computer wise) since before PC's were even thought of as possible by most people... That's why security concious type people are irritated. =)

    4. Re:Stop, and think for a moment by Anonymous Coward · · Score: 0

      Don't bother...

      You should know by now that on Slashdot anything MS does will be bad...

      No use putting some nuance in there, some self proclaimed expert will call it "bad engineering" or "evil tactics" and burn it...

  24. Kind of makes you wonder, though. by martinultima · · Score: 1, Informative

    If Micro$oft can document the exact procedure for triggering the bug so well, then that indicates that they have a very good idea how it works. If they have a very good idea how it works, then that implies that they should have been able to fix it sometime long before now. Therefore, if Micro$oft can document the exact procedure for triggering the bug so well, then they should have been able to fix it sometime long before now. QED.

    Maybe it's just the fact that I'm a Linux user who's naturally suspicious of anything Micro$oft does, but something does seem kind of fishy here.

    --
    Creative misinterpretation is your friend.
    1. Re:Kind of makes you wonder, though. by Anonymous Coward · · Score: 0

      Maybe it's just that you're too childish to write Microsoft instead of Micro$oft, but no one really cares what you think.

    2. Re:Kind of makes you wonder, though. by vaughanf · · Score: 1

      When a bug surfaces in a piece of software, it's generally expected that the bug will be found and patched. It's not unusual or difficult for the developers to start digging through their software to find problems. Whenever we have something go wrong at my work, we're doing this the next morning, and usually within 2-3 hours, we have a full and detailed report on what went wrong and why. I don't think there's anything out of the ordinary here.

    3. Re:Kind of makes you wonder, though. by tadmas · · Score: 2, Interesting

      Comments like this show that you probably don't have a lot of programming experience. The fact that they know what went wrong is because they already investigated it and fixed it. If they fixed it and still couldn't explain the problem, I'd worry that they didn't really fix it at all.

      Hindsight is 20/20. Foresight is a little trickier.

  25. 'ported' isn't really the word by dioscaido · · Score: 5, Informative

    Something that people don't seem to realize is that when a new OS is created for a particular windows family (95/98/ME or NT4/2000/XP/2003/Vista), functions aren't 'ported'. Instead the same codebase is worked on until you arrive at the next version. So once that function was ported over from the 95 family to the NT4 family, it probably remained untouched, with this vulnerability. So it's not necessarily correct to say 'why did they keep porting this function across OS?!'.

    The reality is the windows codebase has a ton of legacy in it. One positive step taken for Vista is that *all* code, including legacy (actually, most importantly, legacy), was SAL annotated so that static analysis of the full codebase could be performed for a large variety of coding mistakes that lead to vulnerabilities. Related to that, all memory/string functions that don't take bounds have been removed from the codebase, which allows SAL to statically analyze for buffer overruns. There's been a few times when thanks to updates to the SAL agent I've had bugs assigned to my code that catch obscure issues. You can read more about the technique at: http://research.microsoft.com/slam/ At the same time, WIM is doing a second security sweep of all windows components. This is in no way complete, given that things like this WMF vulnerability still got through, but still it is a start, and is a process that is evolving every day.

    I'd like to point out that in Vista WMF is mitigated by the fact that unless you are logged in as the straight Administrator account, the arbitrary code executed from the WMF exploit will only have limited user access to the system (no access to write to the windows directory, program files directory, and system registry for example) even if the account is part of the Administrators group. Honestly this is probably the #1 reason to move to Vista -- it finally has a coherent LUA story and by default I can run all my apps with low priviledges.

    1. Re:'ported' isn't really the word by hobbit126 · · Score: 0

      "So once that function was ported over from the 95 family to the NT4 family, it probably remained untouched, with this vulnerability" probably not, since the function *changed* for the worse when being moved over to NT. RTFA before you play ms-apologist.

    2. Re:'ported' isn't really the word by dioscaido · · Score: 1

      Like I said, the function was ported to NT from the 95 line (ports can include changes). Afterwards, barely touched, and it was grandfathered in to every other OS.

    3. Re:'ported' isn't really the word by Anonymous Coward · · Score: 0
      So once that function was ported over from the 95 family to the NT4 family...

      Eh? Windows NT 3.1 was released in 1993 and supported WMFs (I don't know if the code was rewritten or ported from Windows 3.1). Why would Microsoft rip out NT 4.0's WMF support (inherited from NT 3.51) and replace it with a port of Windows 95's WMF support. That makes no sense.

      WMF support was more likely treated like every other 32-bit API: they were implemented twice - originally for the NT line and again for the 95 line. And the implementations were quite different: NT was fully 32-bit from the start but much of USER and GDI in 95 was wrappers around 16-bit code. Hence the differing behaviour (and obscure compatibility issues).

      Do you really work for MS?

    4. Re:'ported' isn't really the word by hobbit126 · · Score: 0

      actually, what you said was:

      "it probably remained untouched"

      go read your post. kind of hard to backpedal when it's right there.

    5. Re:'ported' isn't really the word by Anonymous Coward · · Score: 0

      WTF? You "proof" of being right is not that you're actually correct, but because his arguement was poorly stated the first time around?

    6. Re:'ported' isn't really the word by dioscaido · · Score: 1

      Sigh.

      "So once that function was ported over from the 95 family to the NT4 family [ported=modified to fit the needs of the platform], it probably remained untouched [=not much maintenance done after it became a stable part of the codebase]"

      The developers themselves have said that the code was created during a very different time in the company, implying that they did not revisit the function when they developed the newer platforms.

      I do apologize for the use of 'NT4', apparently the function has been present since the first version of the NT family.

    7. Re:'ported' isn't really the word by DrPizza · · Score: 1

      "So once that function was ported over from the 95 family to the NT4 family"

      That almost certainly never happened.

      The function was written once for Windows 3.x. 16-bit, probably asm, probably almost identical to the Win9x code. Somewhere down the line the Win9x GDI team made some change that mitigated this issue (by not processing SetAbortProc in certain situations). I'm not sure if that means 9x is completely unexploitable (I don't know what happens if a WMF is printed, for example), but it means that merely viewing an WMF can't cause code execution.

      The function was written once for NT 3.1. 32-bit, C, probably almost identical to the XP/2003 code, independent of the Windows 3.x code. Same purpose, but different code. And because it's different and independent, the change made to 9x was never propagated.

  26. Re:MS shooting itself in the foot? by XMilkProject · · Score: 3, Insightful

    Get over yourself.

    And for what it's worth, I don't consider it a bug, or a failure, or anything else like that. It's a feature that was implemented in the format. You should always be careful when running formats that can contain executable code, just as you would with a .exe or .scr file.

    From MSDN:
    A metafile contains records that describe a sequence of application programming interface (API) calls. Metafiles can be recorded (constructed) and played back (displayed).

    A metafile is not a 'graphics format' exactly. It is rather a macro of API calls. Obviously one would suspect that such a thing could be used to execute malicious code.

    --
    Big ones, small ones, some as big as yer 'ead!
    Give 'em a twist, a flick o' the wrist...
  27. You might do the same... by Svartalf · · Score: 3, Interesting

    This should have never even been in the WMF specification in the first place .

    It was a bad idea then.
    It's a bad idea now.

    What else is in their specs that's a bad idea?

    Something like this WMF exploit, or perhaps less problematic but still annoying,
    like GetTempFileName- where in 16 bits, you used a zero for the main drive and
    a 1, 2, or so forth for the drive you wanted it to and in 32 bits, it's a string
    with a canonical path to the place you want the temp file to be generated. Oh,
    and by the way, zero's what most people used for their 16-bit code and a null
    (zero on machines of the day...) produced undetermined results from the 32-bit
    version of the API. Sometimes it'd work, sometimes it wouldn't. To be sure,
    that sort of problem code wouldn't have gotten out the door. But if they've done
    that sort of thing with their API's, I wouldn't trust that something never went
    out with issues due to lurkers in the API's and specs that will come back to
    bite someone on the ass down the line.

    What else is lurking in MS' products that we don't know about? If they didn't design
    it with security in mind then, what possesses you to think that they can go back
    after the fact and bolt it on afterwards without causing it's own set of problems?
    That'd be like using a hollow core door on the entry or exit of a house, and
    not having a lock or deadbolt on the door- and then putting just a deadbolt on the
    selfsame door when your house gets entered and people take things from you.

    MS just simply needs to work at some solution to the issue of backwards compatibility
    for their current OS products and start fresh with security in mind when they
    do things. Anything else is like the door analogy I just gave.

    --
    I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
    1. Re:You might do the same... by spectecjr · · Score: 1

      This should have never even been in the WMF specification in the first place .

      It was a bad idea then.
      It's a bad idea now.


      Except, under the hood, WMF is used to batch together GDI calls, which means it needs this functionality. So how do you fix it?

      --
      Coming soon - pyrogyra
    2. Re:You might do the same... by Svartalf · · Score: 1

      You didn't NEED this functionality in the framework to begin with. It's data, combining GDI call scripting in a batch- why do you need to be making arbitrary code calls from within data? If you're doing that sort of thing, shouldn't you be doing that in CODE?

      --
      I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
    3. Re:You might do the same... by spectecjr · · Score: 1

      You didn't NEED this functionality in the framework to begin with. It's data, combining GDI call scripting in a batch- why do you need to be making arbitrary code calls from within data? If you're doing that sort of thing, shouldn't you be doing that in CODE?

      Because it's an asynchronous callback; the GDI work is done in a *separate* thread once batched, and depending on where it is in the rendering process, different abort proc's may need to be called.

      --
      Coming soon - pyrogyra
  28. Ture that MS didn't patch all Windows versions? by Nom+du+Keyboard · · Score: 1
    Is it true that Microsoft didn't patch all versions of Windows?

    If so, where is the non-MS patch now?

    Is this a sneaky way to force upgrades on older OS's?

    --
    "It's the height of ridiculousness to say for those 9 lines you get hundreds of millions."
    1. Re:Ture that MS didn't patch all Windows versions? by Jerry+Coffin · · Score: 1
      Is it true that Microsoft didn't patch all versions of Windows?

      It is true that there is no patch for Win 9x/Me. It is also true that they weren't affected in the first place.

      Is this a sneaky way to force upgrades on older OS's?

      The only OSes to which this could apply would be NT 3.1, 3.5, 3.51 and 4.0. MS has been far from sneaky in saying that nobody who cares at all about security should even consider running these anymore.

      I haven't re-installed any of these dinosaurs to check, but my immediate guess would be that pre-4.0, this wasn't nearly as major of a problem in any case. Before NT 4.0, GDI was implemented as a protected server (i.e. a separate process) rather than living inside of the kernel. With NT 4.0, they moved GDI into the kernel, which improved graphics performance, but also made GDI much more effective as an attack vector.

      FWIW, I believe Windows Vista is supposed to move the graphics back out of the kernel again...

      --
      The universe is a figment of its own imagination.
    2. Re:Ture that MS didn't patch all Windows versions? by Nom+du+Keyboard · · Score: 1
      It is true that there is no patch for Win 9x/Me. It is also true that they weren't affected in the first place.

      That doesn't jib with what I've heard that this affects every Windows OS back to 3.0.

      --
      "It's the height of ridiculousness to say for those 9 lines you get hundreds of millions."
    3. Re:Ture that MS didn't patch all Windows versions? by Anonymous Coward · · Score: 0

      >>Is it true that Microsoft didn't patch all versions of Windows?

      >It is true that there is no patch for Win 9x/Me. It is also true >that they weren't affected in the first place.

      I may be wrong here but I'll continue anyway - hopefully someone can confirm/deny it.

      Win9x/ME _are_ affected, it's just that MS doesn't consider it a "critical" vulnerability because of the way you'd have to do it on a 9x computer.

      In other words, the flaw/vulnerability exists in 9x/ME but you can't get it to run arbitrary code (without user intervention) merely by going to a website with a malicious WMF file (which is the case with NT/2k/XP).

      ?

  29. I see. by Anonymous Coward · · Score: 0
    Windows 2k, XP, 2k3 are all NT derivatives. 95/98/ME came from the 95 code base. The people responsible for 95 were completely seperate from the people responcible for NT.

    I see. They even had different spellcheckers!

  30. Re:MS shooting itself in the foot? by Anonymous Coward · · Score: 0

    yes, because it was common knowledge that it was a macro of api calls.

    im sure tens of people were aware of that.

  31. [OT] So that's what WOW stands for by achurch · · Score: 2, Funny
    In fact, Windows does run Windows 3.1 apps in a VM type process these days, it's called a WoW (Windows on Windows) VM

    So that's what the "wow" in wowexec means . . . and here I always thought it was some overworked coder saying "wow, we actually managed to get this ancient crapola working". You learn something new every day!

  32. Trusting Microsoft for security? by Schraegstrichpunkt · · Score: 1

    I'm curious: When was the last time Microsoft, by its own initiative, announced that it had found a security flaw in its software?

  33. Re:MS shooting itself in the foot? by Jerry+Coffin · · Score: 1
    The 9X series of windows is still in wide use ESPECIALLY by paying customer, pirates can afford to have the latest, and MS is telling them that it can't be bothered to fix it.

    RTFA. Win 9x is not vulnerable to this problem at all. Never has been.

    Of course, if you care a bit about security, you should ditch Win 9x (and Me) immediately and never look back, but this is not an example of one of their many vulnerabilities.

    --
    The universe is a figment of its own imagination.
  34. Of course MS will say that... by statemachine · · Score: 1

    Why the hell would you think that Microsoft would say that its bug was intentional?

    1. Re:Of course MS will say that... by defile · · Score: 1

      Gibson was conspiracy theorizing that it was some kind of insidious backdoor that Microsoft put in there.

    2. Re:Of course MS will say that... by statemachine · · Score: 1

      Answer my question. Why would you think MS would ever admit intentional, malicious behavior?

    3. Re:Of course MS will say that... by spectecjr · · Score: 1

      Answer my question. Why would you think MS would ever admit intentional, malicious behavior?

      It's irrelevant. Gibson's claim was based on faulty analysis in the first place.

      --
      Coming soon - pyrogyra
    4. Re:Of course MS will say that... by statemachine · · Score: 1

      No, it's not irrelevant. I want to hear the answer to my question.

      Gibson's analysis is irrelevant to this question.

    5. Re:Of course MS will say that... by defile · · Score: 1

      I thought your question was too asinine in itself, so I wondered if you simply misunderstood me. I re-read my original post and supposed there could've been room for misunderstanding, so I brought Gibson's conspiracy theory into it.

      But if you're still sticking to your original question, here's how I replied to a similar question:


      The cat's out of the bag now. There's very little to be gained by lying about it, but so much to be lost if there's evidence of malicious intent and Microsoft covers it up. If there is malicious intent, Microsoft's obligated to investigate, take disciplinary action, and say so. Managers/employees responsible get fired.

      Or maybe you think Bill Gates walked into some developer's office one day 12 years ago and said "put this subtle vulnerability into the WMF handling routine; 9 years from now when our OS is going to support a multi-user security model, this routine will be exposed to something called INTERNET EXPLORER, which will allow for indirect remote root. It'll be glorious! In the meantime, keep it under your hat. K? Cool. Thanks."?



    6. Re:Of course MS will say that... by statemachine · · Score: 1

      So you believe that MS has nothing to lose by telling the truth? Boy, are you in for a wake-up call.

      If MS can lie and keep it covered up, or merely explain it as an accident, MS loses nothing. Even if it comes out later, MS will merely blame it on a disgruntled employee whom they no longer have. MS loses nothing.

      Tell the truth and the whole world is in a huge uproar. MS loses face, sales, and a new antitrust lawsuit.

      This isn't about conspiracies. This isn't about Gibson. Who in their right mind would admit wrongdoing on a scale such as this? There is only a downside. Your reliance on people's consciences is flawed.

    7. Re:Of course MS will say that... by spectecjr · · Score: 1

      This isn't about conspiracies. This isn't about Gibson. Who in their right mind would admit wrongdoing on a scale such as this? There is only a downside. Your reliance on people's consciences is flawed.

      Given that MS's code is (and has been for a long time) available to independent security auditors, several universities, independent companies and government bodies, they'd be crazy to deny something that people could figure out for themselves by looking at the code.

      --
      Coming soon - pyrogyra
    8. Re:Of course MS will say that... by statemachine · · Score: 1

      Microsoft's source code is *not* available to the extent you believe it is. It is in fact only available in bits and pieces, and then, only to those who sign an exhaustive non-disclosure agreement. And, what little is available, has only been around for a short time.

      Why would you think that Microsoft would pull its pants down and bend over? That you do demonstrates a fundamental misunderstanding of the situation.

    9. Re:Of course MS will say that... by spectecjr · · Score: 1

      Microsoft's source code is *not* available to the extent you believe it is. It is in fact only available in bits and pieces, and then, only to those who sign an exhaustive non-disclosure agreement. And, what little is available, has only been around for a short time.

      Yes, actually, it is available to the extent I believe it is. Thanksmuch for playing.

      --
      Coming soon - pyrogyra
    10. Re:Of course MS will say that... by defile · · Score: 1

      In this particular case, they have much more to lose by lying about it now that the cat's out of the bag. It has nothing to do with conscience.

    11. Re:Of course MS will say that... by statemachine · · Score: 1

      Actually they're not. Read the front page of slashdot recently?

  35. So where does Microsoft refute Gibson?? by dtjohnson · · Score: 3, Informative

    Read more closely. Where does Microsoft actually say that Gibson is wrong? Gibson claimed that Windows XP would read a .wmf file and begin executing a portion of the data file contents as executable code if a metafile record was encountered with a length of one byte. Since the minimum length of a valid metafile record is 6 bytes, Gibson suggests that the behavior was intentional rather than an accident. Microsoft doesn't actually SAY in their response that any of what Gibson claims is wrong:

    Gibson: Except that, when I was pursuing this and finally got it to work, what Windows did when it encountered this Escape function, followed by the SETABORTPROC metafile record, was it jumped immediately to the next byte of code and began to execute it. That is, it was no longer interpreting my metafile records record by record, which is the way metafiles are supposed to be processed.

    Microsoft: If you are seeing that you can only trigger it with an incorrect value, it's probably because your SetAbortProc record is the last record in the metafile.

    Gibson: It turns out that the only way to get Windows to misbehave in this bizarre fashion is to set the length to one, which is an impossible value. I tried setting it to zero. It didn't trigger the exploit. I tried setting it to two, no effect. Three, no effect. Nothing, not even the correct length. Only one.

    Microsoft: The vulnerability can be triggered with correct or incorrect size values.

    Even though the Microsoft guy claims he is going to "get rather technical here" he never specifies what he considers an 'incorrect' or 'correct' size value to be. More importantly, he never refutes the claim that a record with a length of one byte would always cause Windows to spawn a new thread and begin executing 'data' as code.

  36. "previously reported" by Anonymous Coward · · Score: 0

    We've previous reported on the backdoor claim.

    No, Zonk, you previously linked to someone ELSE's reporting. There is an important difference.

  37. Like they say, politicians always know best! by notaprguy · · Score: 2, Funny

    I think we should leave all technology decisions up to politicians. They know what's best for the rest of us. As a matter of fact, I'm thinking of putting up a Web site to encourage companies like Google, IBM, Microsoft and Apple to put politicians on all of their boards so that we're sure to get what's best for the people. Clearly in this case the Korean's are ahead of us!

    1. Re:Like they say, politicians always know best! by freeze128 · · Score: 1

      You probably have been modded down, but Al Gore *is* on the board at Apple....

    2. Re:Like they say, politicians always know best! by notaprguy · · Score: 1

      Yeah, I knew that. I voted for him. Clearly my post was in jest. I'm actually a good "D" but still think that government is best left to things like defense, paving road and taking care of people who can't take care of themselves.

  38. Microsoft smoke & mirrors by Anonymous Coward · · Score: 0
    Even though the Microsoft guy claims he is going to "get rather technical here" he never specifies what he considers an 'incorrect' or 'correct' size value to be.



    Exactly. Purposely vague. Which is their whole problem. Microsoft got itself into trouble by being very vague about the whole issue, initially submitting only a limited patch, leaving Guilfanov to really fix it, then finally getting out a real patch, which turns out to be same as Guilfanov's, but then, through some muddling of the the meaning of the word "vulnerability", not fixing certain versions of Windows.

    Gibson said he couldn't be sure whether this was intentional or not, not having the source. The Microsoft "explanation", both of why the vulnerability is there, and even why they won't fix it for previous versions, seems to leave out many important details, thus we're still as in the dark as before. This will only satisfy the Microsoft fanboys, I'll be interested to see Gibson and other, non-Microsoft security experts, take on this.

    I especially don't buy the "it's all in assembly code" argument, that just doesn't cut it, especially with assembly wizards like Gibson and Guilfanov. If you don't know what it does you shouldn't be messing with it. This bug/feature is also interesting in that it highlights the difficulty of reusing existing code.

    1. Re:Microsoft smoke & mirrors by spectecjr · · Score: 1

      Dude.... you don't have to take microsoft's word for it.

      WMF Exploit with different record lengths, completely invalidating Gibson's claims

      --
      Coming soon - pyrogyra
  39. Re:MS shooting itself in the foot? by Anonymous Coward · · Score: 0

    RTFA. Win 9x is not vulnerable to this problem at all. Never has been.

    What if you print a file containing the exploit? Here's what Microsoft says:

    With WMF we want to be very clear: the Windows 9x platform is not vulnerable to any "Critical" attack vector. The reason Windows 9x is not vulnerable to a "Critical" attack vector is because an additional step exists in the Win9x platform: When not printing to a printer, applications will simply never process the SetAbortProc record. Although the vulnerable code does exist in the Win9x platform, all "Critical" attack vectors are blocked by this additional step.

    Clearly, they are saying if you print a page with the exploit, Win9x is vulnerable.

  40. No problem according to MS in 3.* or 9.* by Anonymous Coward · · Score: 0

    The MS release says the problem is triggered in more ways than Gibson found and that because of the nature of the multitasking in Win 3* and 9* it isn't a problem. What I want to know more about is how MS patched systems for this where the systems are set to download patches but wait for the administrator's go-ahead. THAT sounds like a deliberate trap door. My system did this and it completely screwed up the desktop settings. There are other threads in various discussion groups about this happening.

  41. The equivalent under Windows... by Svartalf · · Score: 1

    Would be:

    Windows -> Boot from Knoppix CD (either access assumes that CD boot is turned on), mount the NTFS volume accordingly. From there you have read-only access unless you use Captive NTFS to mount the volume. But, typically, that one works NICELY so it's almost a no-brainer from there to mangle the system, steal data, etc.

    If you've got physical access for any substantive length of time, all bets are off as far as security for pretty much any OS unless the filesystem's encrypted.

    --
    I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
    1. Re:The equivalent under Windows... by Alosja · · Score: 0

      You could also use a bootdisk to reset the password(Just google it), no big problem.

      --
      A little stupidity is as unlikely as a little pregnancy
  42. code from VMS? by toby · · Score: 1

    They took concepts and the chief designer from VMS (who consequently produced his first operating system lemon) but not, as far as I know, any actual code. I suppose it is possible they may have had to license a few patents. According to Wikipedia, Cutler has 20.

    --
    you had me at #!
  43. Apple did lose the legacy baggage by toby · · Score: 1
    Apple did no such thing - they maintained a compatibility mode in the OS and more importantly kept the Carbon APIs around mostly complete so legacy code could be ported over very easily.

    That's not quite the full picture.

    Yes, the Classic 'compatibility mode' does suffer, in its own protected sandbox, from the same problems as the 'legacy' MacOS - no memory protection, no pre-emptive multitasking, limited permission system.

    Applications compiled for the Carbon APIs on OS X certainly do not. They inherit all the modern advantages, performance and robustness of UNIX, and can't meaningfully be said to be suffering from a legacy tax. (In fact, until Cocoa paths gained attention post-10.0, Carbon applications were faster.)

    Furthermore, as designed, the Carbon API is platform agnostic, and reduces supporting new hardware architectures such as Intel to little more than a recompile. But NEXTSTEP always was transparently portable, so Apple followers should not have been surprised...

    --
    you had me at #!
  44. Antique vulnerabilities by toby · · Score: 1
    At one point, it was possible to hack a Sun box

    Compare the cost/loss/impact of a single Windows worm/virus/whatever today with the total cost of all vulnerabilities ever discovered in SunOS and Solaris (heck, roll in VMS and all other flavours of vendor UNIX too)...

    Yep. I thought so.

    --
    you had me at #!
  45. 40 years late by toby · · Score: 1
    it finally has a coherent LUA story and by default I can run all my apps with low priviledges.

    So Vista may ship with a credible protection model, only 40 years after the party? I heard Windows described as the biggest beta test in history, but is it also the biggest and slowest game of catch-up?

    --
    you had me at #!
  46. SIGH... by Svartalf · · Score: 1

    Okay... Think that statement through for a moment...

    A separate thread sets up code execution that is ran in another thread. And depending on where it is in the rendering process, different abort procs may need to be called...

    Okay... WHY do you need different abort procs that are callable on the say-so of a DATA file? The abort process should be the same one for all stages with indicators as to where the GDI (or whatever else you want to use...) is at in the execution of the batch. Had I implemented the process, I'd have allowed the GDI processor call to set a single callback for completion/abort at the call to render that can _only_ be in your own process space with all it's concomittant restrictions- and the escape functionality would have ID tags for what stage it was in. With the spec the way it currently is, you can tell it to GO ANYWHERE in the system memory. Think about that one for a long moment- it's WHY there was a problem with this spec that could be exploited. This isn't a buffer overflow we're talking about here- it's a design misfeature. And you shouldn't be defending it with statements about WHY you use it the way it's implemented- you should be asking yourself and Microsoft WHY they implemented it that way instead of the way I mentioned or a dozen different ways.

    --
    I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas