A photo that can steal your Facebook and most other accounts
computerworld.com
computerworld.com
If I try to force it as an applet on a 3rd party site:
<embed type="java" src="http://facebook.com/profiles/12345/evil_applet.jpg">
The java plugin should refuse to load it since it doesn't have a java mimetype. I'm guessing from the article that the java plugin will load it anyway, which I believe is a bug in the java plugin.
I don't think the websites should have to try to filter beyond verifying that it's a valid image file. Besides the fact that re-encoding jpg images reduces their quality, it is conceivable that it won't even solve the problem.
In a perfect world, the java plugin would not have this bug, but in the real world it might not be a bad idea for websites to try to filter out this specific attack in order to pretect their users.
(The OS X spell checker suggests "cannibalizing" instead of "canonicalizing". I guess you could do that, too.)
A PDF file does not become a plain text file just because some berk serves it with "text/plain" and it shouldn't open directly in the browser showing me a stream of gibberish.
A PDF file also does not suddenly become a security risk worthy of blocking at a firewall because some berk served it as "application/x-initech-file" (true story, name changed).
Use the file extension, that's what it's there for. If it's a .gif, don't load and run it as a Java program!
Are you seriously suggesting it's the browser which should support whatever scripting backend which is used on the server?
Mime-types is there for a reason.
Come on, people have been doing this since time began. It's not new to create files that are valid in multiple scenarios.
OK, So how does it steal your account?
I can see that yes, if you can upload an image to a website, and then get it to run as a java applet, your java applet would have the same privileges as any other java applet on that site...
So if you've already given facebook permission to access local files via java applets, then the malicious applet could do bad things to your machine.
But how does it steal your account? "and most other accounts" - This seems like complete sensationalism to me.
There is a whole java applet security model, and this article just seems to be about spreading FUD.
So the attack would go: 1) your browser opens a malicious java applet, 2) the applet makes a request to change your password, add spammy facebook apps, spam everybody, change your contact email address and request a "forgotten" password, and finally: 3) you lose.
This isn't revolutionary, but it's clever and yet another thing to be aware of with user created content.
* Cookies set in one browser window are delivered with requests made in another browser window
* On site A, click a link to site C, and the same link on site B will change color.
* Files cached for one browser window are available instantaneously in another window
* Site A can use timing to determine if the browser currently has an open HTTP connection to site B
* The browser has a per-browser limitation on the number of concurrent connections to a particular web server. A malicious website could use this to find out when you're browsing another website.
Browsers also provide detailed version info to web servers, including plugin versions, allowing malicious sites to deliver the right exploits.
ECMA Script implementations do not implement proper resource controls. For example, bad JavaScript on one page can cause other pages to have slow responses.
Third-party cookies allow wholesale tracking
Browsers don't complain when the user enters a password into a form that submits to an HTTP url.
Browsers keep many cookies literally forever.
Even if the user turns off cookies, the cache provides equivalent functionality for tracking.
ECMA Script and Flash can pop up modal dialogs that allow one webpage to prevent the user from using others.
Browsers don't provide any good UI tools for checking signatures of non-signed certificates. Many users are conditioned to just click 'Accept Permanently.'
Browsers will recall passwords for pages that are shown in i-frames.
Browsers should provide stronger anti-phishing mechanisms. For example, a way to designate a bookmark as the only allowed way to enter that domain.