Slashdot Mirror


Microsoft Flip-Flops On URI Protocol Handing Flaw

a-twitter writes "After months of insisting there is nothing to patch, Microsoft has done a complete 180 on the URI protocol handling vulnerability, announcing in a security advisory that a Windows update will be released to revise URI handling code within ShellExecute() to be more strict. The MSRC blog explains the background and offers more details on this issue."

32 of 126 comments (clear)

  1. like a dervish, they are by User+956 · · Score: 4, Funny

    After months of insisting there is nothing to patch, Microsoft has done a complete 180 on the URI protocol handling vulnerability

    If it took them that many months, it sounds like they did a 1260.

    --
    The theory of relativity doesn't work right in Arkansas.
    1. Re:like a dervish, they are by ricebowl · · Score: 4, Funny

      If it took them that many months, it sounds like they did a 1260.

      And here I'm still saving to buy the 360...

      Sigh...

    2. Re:like a dervish, they are by ozmanjusri · · Score: 4, Funny

      Why don't you just twist a red glow-stick into a ring and glue it to the front of a cereal box? It'll work as well as most 360s do...

      --
      "I've got more toys than Teruhisa Kitahara."
    3. Re:like a dervish, they are by rk076200 · · Score: 2, Funny

      Microsoft has finally accepted responsibility for its role in a security weakness that allows malicious websites to run harmful code on an end user's machine.

    4. Re:like a dervish, they are by ricebowl · · Score: 2, Funny

      Why don't you just twist a red glow-stick into a ring and glue it to the front of a cereal box? It'll work as well as most 360s do...

      True enough, but will my glow-stick and cereal box be repaired under an extended warranty when it inevitably falls apart, or I add milk to the contents?

      I don't think Mr. Kelloggs will be forthcoming...

  2. Good. by Futurepower(R) · · Score: 5, Insightful

    Now we won't have to read any more Slashdot comments that say, "It's not really Microsoft's problem."

    1. Re:Good. by Spy+der+Mann · · Score: 2, Insightful

      Now I wonder how many machines have now been zombified due to Microsoft's "little mistake". :-/

      Who's gonna be held accountable for that?

    2. Re:Good. by dedazo · · Score: 3, Informative

      No, it's not. Never was. They're fixing other applications (Firefox in this case), the way they hack their entire userspace to deal with application quirks and stupid use of undocumented structures and APIs that are not supported. But that's the price they ultimately have to pay for backwards compatibility - the reason they also still own 96% of the desktop.

      --
      Web2.0: I love when people Flickr my cuil and digg my boingboing until my google is reddit and I start to yahoo
    3. Re:Good. by clsours · · Score: 3, Insightful

      No, no, no. Windows automagically does all kinds of crap. Especially with explorer, which for most intents and purposes is also Internet Explorer. Windows does many many things for the user that are 'nice', but really compromise security. With a culture of obfuscation-as-security and a growing codebase you HAVE to expect vulnerabilities.

      --
      Seagoon: Shut up Eccles!

      Eccles: Shut up Eccles!
    4. Re:Good. by Cassius+Corodes · · Score: 3, Funny

      Me. I'm gonna get a week's vacation docked.

      --
      Control is an illusion, order our comforting lie. From chaos, through chaos, into chaos we fly
    5. Re:Good. by MadMidnightBomber · · Score: 5, Interesting

      Create a shortcut on your desktop called 'www.slashdot.org' which points to 'www.bbc.co.uk'[1]. Now visit www.slashdot.org in IE.

      Be afraid. Be very afraid.

      [1] OB /. - or possibly to goatse

      --
      "It doesn't cost enough, and it makes too much sense."
  3. The Point: They're Still Missing It. by Tackhead · · Score: 5, Insightful
    From TFA:
    > For traditionally "safe" protocols like mailto: or http:

    And that's where my co-workers heard the cry of "You dumb motherfuckers".

    It's been a few years since Microsoft boxes were out-of-the-box exploitable through anything other than rendering HTML content from either a web page or from within an email client.

    While the planet is grateful for the lack of uPnP and DCOM/RPC worms of late, it also means that "things that have to do with email or web browsing" are among the least safe things you can ask a computer to do.

    If you're at Microsoft, and you still think of "http://" as "safe", you're still part of the problem, not part of the solution.

    1. Re:The Point: They're Still Missing It. by drsmithy · · Score: 4, Insightful

      And that's where my co-workers heard the cry of "You dumb motherfuckers".

      Maybe you should have kept reading (or you're just quoting out of context to sensationalise):

      For traditionally "safe" protocols like mailto: or http: applications often just verify the prefix and then choose to call into the Windows shell32 function ShellExecute() to handle it.

      And that's where my co-workers heard the cry of "You dumb motherfuckers".

      It's pretty clear from context that the implication is other applications consider those prefixes as "traditionally safe", and not that Microsoft does.

    2. Re:The Point: They're Still Missing It. by Alwin+Henseler · · Score: 3, Insightful

      While the planet is grateful for the lack of uPnP and DCOM/RPC worms of late, it also means that "things that have to do with email or web browsing" are among the least safe things you can ask a computer to do.

      Which is really ridiculous, that normal users have come to expect (or should expect) that there are exploit-ridden websites which you should never visit, or else your system may get exploited and spyware/other crap gets installed behind the user's back.

      One could pass a web-server ANYTHING as a URI, and the server basically returns you a 'page', consisting of a number of elements which are then rendered for your viewing pleasure. From a conceptual point of view, that's pretty much a READ action, and (imho) users should not be wrong to think this is always safe, and has no chance of screwing up your system. That this is not true in real life doesn't mean users behave unwise or stupid, but that current popular OS'es are BROKEN. Regardless of where in those OS'es (or the applications on it) the cause lies.

      Now, for another point of view on these URI handling troubles: a) there exist malformed URI's, and b) pretty much everyone agrees they should not fsck up your system, but simply be handled. Either 'fixed' to be a valid URI, or simply be rejected as invalid. Now if you need to fix it anyway, where would be the best place to do so? In every application that handles URI's, or in 1 place where all those URI's pass through at some point in time anyway? Apart from the question of whether it would be the OS'es responsibility, I'd say inside the OS would be the easiest place to fix the 'malformed URI' problem as a whole. Also, if the OS isn't bothered by a malformed URI, and just returns an error to indicate the problem, applications (and through them) users are informed of that fact. Which would tell a user that a site he's browsing is either trying to screw him, hijack his system, or that the site maintainers are incompetent.

      If the OS doesn't accept malformed URI's period, then the system as a whole becomes safer to use, regardless of whether applications do their own URI validation or not. So fixing this in the Windows URI handler would seem like the most general, AND the easiest way to prevent malformed URI from doing any damage.

      Apart from that I think the article was well written and reasoned, claiming that input validation is really a shared responsibility, that both OS vendors AND 3rd party application developers should care about.

    3. Re:The Point: They're Still Missing It. by Beryllium+Sphere(tm) · · Score: 3, Insightful

      More insight into how Microsoft thinks about these things at Larry Osterman's blog.

      Personally I'd point the finger at the idea of using ShellExecute on inadequately filtered data from the Internet.

  4. The "New" Microsoft by Propaganda13 · · Score: 2, Funny

    After being criticized about security, Microsoft has taken additional steps to shorten the time between when they advise a customer of a vulnerability and when it is fixed. Ballmer stated "This is a win for both the customer and Microsoft."

  5. Simple by Vlaadimir · · Score: 4, Interesting

    If Microsoft concedes that IE should validate/sanitize URL input before passing it to other applications, then other browsers should also validate/sanitize URL input before passing it to other vulnerable Microsoft/Adobe/IBM/... applications.

  6. Pay attention by Anonymous Coward · · Score: 5, Informative

    You're not paying attention. There were two flaws: One in Firefox, one in ShellExecute. Microsoft cannot and did not fix the flaw in Firefox (incorrect interpretation of command line). Microsoft did fix the bug in ShellExecute, which was by the failure to abort if URLMON returned an error code indicating that a given string was not a legal URI.

    1. Re:Pay attention by Alwin+Henseler · · Score: 5, Interesting

      There were two flaws: One in Firefox, one in ShellExecute. Excellent point.

      Microsoft cannot and did not fix the flaw in Firefox (..) Ehmm... wrong. Since Firefox is an open source project, ANYONE has the option to contribute patches, and Microsoft surely has the knowledge and resources to do so. Any decently managed open source project should accept patches from anyone, IF it provides a correct fix for a problem, and licensing of the patch is acceptable (like, licensed the same as the rest of the project).

      Though I can't think of a reason why Microsoft would WANT to fix a problem in Firefox, unless IE's market share has dropped below 1% ;-)

    2. Re:Pay attention by suv4x4 · · Score: 2, Insightful

      Ehmm... wrong. Since Firefox is an open source project, ANYONE has the option to contribute patches, a [...] Though I can't think of a reason why Microsoft would WANT to fix a problem in Firefox

      So uhmm what was the point of this post at all? Anyone in Microsoft's position wouldn't want to fix their competitors' software, it being OSS or not.

      Firefox isn't just a browser competing to IE on Windows. It's a browser on Windows that works the same on Mac and Linux. That's horrible for MS as the browser becomes the most important application ever to be had on an OS.

  7. Re:Firefox? by Kalriath · · Score: 4, Informative

    Well, actually, there are two issues being mentioned here. One, where Windows itself mishandles the URI. This is the one where a % symbol is included in the URI and ShellExecute stupidly tries to fix it (demons know how it manages to mangle it into an actual working executable path). The other, which Microsoft correctly attributes to third party vendors, is where when a protocol handler is called, no escaping of quotes is done - often causing apps like Firefox, or Trillian, or whatever, to actually accept half the URI as command line parameters.

    The mistake made by the GP (and potentially yourself, as you refer to the "blame cast" with the Firefox team which from memory only occurred with the issue in June with a malicious URIs terminating the quoted string and including Chrome parameters) is that they assume the second option is the one which is being fixed. It is not. This will potentially still be a problem if applications don't continue to validate their URIs appropriately, as Windows doesn't know exactly what your application does to escape quotes.

    One of these is a vulnerability. The other is third party applications violating a basic tenet of development (no input is trusted).

    --
    For a site about things like basic rights, Slashdot users sure do like to censor "dissent".
  8. Re:Firefox? by ozmanjusri · · Score: 3, Informative
    Without Firefox, NOTHING was vulnerable.

    Rubbish.

    There's a whole shopping list of apps, including IE7 itself that were exposed to this vulnerability. Firefox was just the first to be accused.

    Microsoft's only changed it's tune because Adobe's on the case with the Acrobat vulnerability. It's one thing to force a FOSS competitor to unnecessarily patch, but they'll have no luck with trying to force Adobe to fix every PDF reader out there.

    --
    "I've got more toys than Teruhisa Kitahara."
  9. Re:Firefox? by Anonymous Coward · · Score: 2, Informative

    The other, which Microsoft correctly attributes to third party vendors, is where when a protocol handler is called, no escaping of quotes is done

    OK, let's break down the steps to executing a program here. Now, I know Microsoft has their way of doing it, but really, it's exactly the same fucking thing with the same fucking array of arguments as parameters to the main function.

    1) program A decides it wants to run program B with some arguments
    2) program A assembles the argument list, and selects a member of the exec*() family to call
    3) program A executes program B with the arguments that A prepared.

    It's not the receiving program's responsibility to try and reassemble its arguments to figure out what the calling program actually meant to pass in, well unless your program runs on Windows, I guess. "Escaping of quotes" is supposed to have already been taken care of by the time the first line of code in main(argc,argv) executes and wants to see what it got in argv[1]. But hey, I'm sure you have a really good reason why the OS is capable of dealing with quoted arguments correctly when I type "C:\Program Files\Somewhere" but can't be bothered to handle it correctly specifically when parsing a URL that explains exactly how it is not the URL parser that is broken?

  10. Did the submitter read the links they included? by Keeper · · Score: 4, Informative

    There are two "bugs" being talked about.

    1) an exploit in firefox URI protocol handler
    2) an exploit related to how explorer handles rejected URIs from IE7 on XP/Win2k3

    Apparently the submitter isn't able to differentiate #2 from #1.

    The advisory is for item #2. Item #2 is going to get fixed. The advisory does not cover item #1. Item #1 will need to be fixed in the protocol handler itself.

    1. Re:Did the submitter read the links they included? by Random832 · · Score: 2, Informative

      And while we're here, can anyone explain why the firefoxurl handler exists at all? Though these are url handler keys instead of programs, imagine that firefoxurl is the real binary, and firefox sets up http, ftp, and so on, as symlinks to it. It can't put the real handler at 'http', since that could be overwritten by IE if someone opens IE and checks "make this my default web browser".
      --
      We've secretly replaced Slashdot with new Folgers Crystals - let's see if it notices.
  11. Re:Fanboy Bullshit at it's Finest. by Planesdragon · · Score: 4, Insightful


    You must have slept through that whole anti-trust thing, where the Federal government proved that M$ did everything in it's power to break Netscape.


    Psst. Netscape is not a competitor to Windows. Never was.

    MS cripples themselves when they try and lean on Windows to get IE, or Office, or Visual Studio more market share. But Windows itself -- well, there's been to date, what, four serious attempts at competting with MS, and they haven't even managed to get half the market between them?

    BeOS, UNIX et al, OS/2, and the Mac. All told, maybe 30% of the worldwide userbase. Microsoft is doing something right -- or else the "here, you can have this for free" crowd is doing something even worse than MS.

  12. Re:Firefox? by ozmanjusri · · Score: 2, Interesting
    "M$" has modified the way it works, which does not mean it's "mistaken".

    Yes it does.

    This is from the Technet mea culpa blog posting by MSRC's Jonathan.

    With Internet Explorer 7 installed, the flow is a bit different. IE7 began to do more validation up front to reject malformed URI's. When this malformed URI with a % was rejected by IE7, ShellExecute() tries to "fix up" the URI to be usable. During this process, the URI is not safely handled. IE7 rejects the URI, and on Windows Vista ShellExecute() gracefully rejects the URI. That's not the case on the older versions of Windows like Windows XP and Windows Server 2003 when IE7 is installed. Spin the facts as much as you like here, but anyone with a clue knows it is Microsoft's vulnerability. That's why they're the only ones who can fix it.
    --
    "I've got more toys than Teruhisa Kitahara."
  13. Re:Fanboy Bullshit at it's Finest. by absoluteflatness · · Score: 2, Insightful

    Psst. Netscape is not a competitor to Windows. Never was...
    MS cripples themselves when they try and lean on Windows...

    Well, the grandparent never said that Netscape was a competitor to Windows, but it sure was a competitor with Internet Explorer. Considering that Internet Explorer completely crushed Netscape due to it being free and bundled with Windows (and, eventually, a better product), I think that Microsoft's plan of leaning on their Windows dominance to sell their other products seems like a pretty successful one. Of course, of these, only IE is "bundled". For Office and Visual Studio, it's really a two-way street. People get Office or VS because they're the de-facto standard on Windows, then they stay with Windows so they can keep the same office suite/IDE.

    They seemed to "cripple" themselves with the decaying quality of IE before the release of version 7, but really, it's a consequence of how they dominated the market so effectively. When there's no real competition, why bother innovating? If anything, Microsoft's business model sometimes works too well for their own good.

  14. Re:Firefox? by HeroreV · · Score: 2, Insightful

    If Internet Explorer was sending Firefox a valid URL, it wouldn't have to worry about escaping anything. Valid URLs don't contain whitespace, quotation marks, backslashes, or anything else that would need to be escaped. Why should Firefox expect to receive malformed URLs?

  15. Re:Fanboy Bullshit at it's Finest. by houseofzeus · · Score: 2, Insightful

    Being a monopoly is not, in itself, illegal.

  16. Only a problem if you omit the http: by giafly · · Score: 2, Informative

    Create a shortcut on your desktop called 'www.slashdot.org' which points to 'www.bbc.co.uk'.
    Now visit www.slashdot.org in IE.
    Visiting www.slashdot.org is broken
    Visiting http://www.slashdot.org/ works fine

    IE seems to store the http: in favorites etc., so it's not much of a problem.
    Also it doesn't affect Firefox so almost nobody will notice.
    --
    Reduce, reuse, cycle
    1. Re:Only a problem if you omit the http: by mrRay720 · · Score: 2, Informative

      Actually this sounds like expected behaviour. www.slashdot.org isn't a valid address, people are just used to the user-friendly auto-appending of http://./

      www.slashdot.org is the name of a file in a location that IE searches for named shortcuts.

      What IE is doing in this case is preferring an exact match over an autoguess.

      The only arguement here is if IE should be searching the desktop for URL shortcuts, and considering how many people use their desktop in lieu of the favourites menu, I don't think that it's an unreasonable feature.

      If you want to go to http://www.slashdot.org/ - type that in. Leave room for the software to guess, and well, it will guess.