Slashdot Log In
Major Flaw Found In Security Products
Posted by
kdawson
on Thu Jun 28, 2007 11:11 AM
from the deploy-the-captchas dept.
from the deploy-the-captchas dept.
ancientribe writes "A stealthy and potentially dangerous bug has been discovered in security products from eight different vendors, including Check Point Software, according to an article in Dark Reading. The so-called cross-site request forgery (CSRF) lets an attacker access the user's network and even conduct transactions on behalf of the user. It could affect over a million installations, but so far, Check Point is the only security vendor to step up and patch it. This vulnerability is found in most everything with a Web-based interface, including printers, firewalls, DSL routers, and IP phones." An article on the vulnerability from last fall quotes Jeremiah Grossman, CTO of WhiteHat Security, who calls CSRF "the sleeping giant" vulnerability: "It's not seen as a vulnerability because it works like the Web works."
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Full
Abbreviated
Hidden
Loading... please wait.
Hope they used EEPROM (Score:3, Insightful)
because it sucks when there's a bug in hardware unless it's possible to do a firmware upgrade to fix or work around it.
Can someone explain this for me...? (Score:3, Insightful)
Re: (Score:2, Funny)
Re:Can someone explain this for me...? (Score:5, Informative)
It means that if you do something stupid like leave the default username/password for your "appliance" or log in and pick up a session cookie then go browse somewhere else, someone can set up a link like "http://192.168.0.1/networksetting.cgi?internet=d
Except that they don't have to convince you to click on it, they could set that as the source of an image... you'd see a broken image tag and then the internet would stop working. Then they just have to get that image tag onto a website you read, say through an ad vendor (some of whom obviously don't care that they're hosting malware, so why not?) or an email to a webmail address that doesn't filter image tags.
This is how the internet works. Your browser follows links, and doesn't know or care about whats there until it gets there.
Parent
Re: (Score:2)
There may be a lot of comments saying CSRF is so 20006. W
Re: (Score:2, Funny)
Re:Can someone explain this for me...? (Score:5, Informative)
from 1 to 0 .
Parent
Re:Can someone explain this for me...? (Score:5, Informative)
Parent
Re: (Score:3, Interesting)
Now, if y
Re: (Score:2)
That's pretty sad if that's all this is about. Isn't this basic stuff they teach you in college? :-) Didn't we learn anything from the "secret" backdoor passwords exploited by the UNIX worm of 1988? You don't have a single password built into ANY piece of software. You require the user to create a password when you first plug the device in. Really freaking basic stuff.
For that matter, this one would be solved by simply using an expiring session key. For that matter, this one would be solved by makin
Re:Can someone explain this for me...? (Score:5, Informative)
There is a simple example / introduction to CSRF attacks here [debian-adm...ration.org].
Parent
Re:Can someone explain this for me...? (Score:5, Informative)
This lets malicious site do things like send $10 donations from your paypal account, submit blogspam, get your account balance, etc. if you can be convinced to visit malicious site.
Parent
Re: (Score:2)
For that matter, the malicious site coul
Re: (Score:2)
The best way to break tokens like that is to find some XSS on the site you're attacking -- that allows you to get javascript running within the domain of the remote site.
What the ... ? (Score:3, Interesting)
Wouldn't this be easily killed by simply having the webpage dynamically generate a page with a life of 15 minutes or less?
Or even by using some basic encryption that involves the IP address of the original request?
sheesh!
Re: (Score:2)
Does that also mean simply typing in the URL bypasses this as well?
Re: (Score:2)
Re: (Score:2)
needless to say i had to alter their proccessing page for this cause they blocked the whole damn domain not jsut the mail server..
Re: (Score:2)
But that makes me wonder if browsers could do something against this. If there's an iframe that is not visible to the user, and that tries to request a page from somewhere else, don't send cookies. Okay, maybe it's a bit more involved, but shouldn't this be doable on the browser side?
And the "referrer page" is already known. (Score:2)
There seem to be a lot ways to defeat this "sleeping giant" of a vulnerability. And most of them seem to related to basic security practices by the websites themselves.
"Solving" this at the firewall level just seems
Re: (Score:2)
Re: (Score:3, Interesting)
The IP address doesn't work because the initial exploit is from the orignal user on the same computer, same ip address. Just a different tab or window of the same browser that carries the same cookie/http-auth as the original, but comes from a seperate malicious webpage.
I can think of 2 general fixes but
URL referrer (Score:2)
That's why I don't think this is a problem. (Score:2)
While that does happen, it probably would be extremely rare.
And the "attacker" would have to pre-craft the page. This would be easily defeated by simply dynamically generating each page and giving a short time to live.
The attacker would need to know the dynamically generated ID
and
He'd need to know it before that page expired
and
He'd need to get that code into his webpage that you were looking at.
Sure, this "attack" woul
Re: (Score:2, Insightful)
Re: (Score:2)
It's poor authentication on the server side. The browser is hitting links that it's given, and if you're doing something important, you shouldn't rely on the browser being fixed. The proper solution is for the server to give out a unique key with every form or link that needs to be secure, and if the key received don't match one given out to that user, it's rejected. Crackers wouldn
Update! (Score:4, Informative)
I'm surprised it took this long to find something like this, but I'm not at all surprised it existed. I've loved web interfaces like these but I've always been nervous about them.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
The sky is falling? (Score:4, Insightful)
In Check Point's case, CSRF was possible when a user was logged onto https://my.firewall/ [my.firewall] at the same time he or she was connected to a malicious Website, according to the company's patch release information.
This bad, sure, but hardly the internet-destroying calamity the article makes it sound like. When you're connected to the web interface of something critical, make sure you trust the other websites you're viewing at the same time. Am I missing something, or is this Calyptix company just trying to get its name on everyone's lips?
Re: (Score:2)
But the vunlerablity isn't limited to firewalls, of course...
POST vsn GET (Score:3, Interesting)
Re:POST vsn GET (Score:4, Informative)
Using POST will help, but it doesn't solve the problem.
An attacker could still host a hidden FORM pointing at your local application, and use Javascript to submit it.
Parent
Re:POST vsn GET (Score:5, Interesting)
RFC 1945 [w3.org], section 12.2 (under the oh so stealthy heading of "Security Considerations"):But hey, that RFC was only written in 1996; why would we expect something that was specifically stated as a security problem eleven years ago to be taken into account by security vendors?
Parent
Re: (Score:2)
Re:POST vsn GET (Score:4, Informative)
This is another good reason for using Firefox extensions such as Flashblock [mozilla.org] and Noscript [noscript.net]. As a client, you can protect yourself pretty easily from a lot of these attacks. Noscript also has some nice features which help filter out the more common brands of XSS attacks.
Parent
Re: (Score:2)
Re: (Score:2)
It increases the complexity and requirements of implementing the attack.
With a GET request, all you need is for the victim's browser to visit the URL. You could hide a link, or even put it as the SRC for some other tag. You could hide it in an <IMAGE>, or even a <LINK>. (Or, as another poster pointed out, in an invisible <IFRAME>.)
With POST, on the other hand, you have to get the victim to submit a deliberately crafted form. With JavaScript you could do this automatically, but that's not
Re: (Score:3, Interesting)
Not nearly as easy? Here, lets transform your sample attack into a POST-based one:
I Don't See It As a Sleeping Giant .... (Score:2, Insightful)
So don't manage any device on your network via it's web interface while browsing web sites you don't trust on the Internet. Problem solved. In this day and age you should be careful about opening links to non-trusted sites no matter what.
If you absolutely must do both at the same time, use one browser for the web and another to manage the device. If you're on Win
This happens though. (Score:3, Interesting)
In that rare instance, I can see this as being a potential problem.
Re: (Score:2)
Check Point Edge firmware reset (Score:5, Informative)
A good explanation (Score:5, Informative)
Re: (Score:3, Interesting)
And the spider deleted everything!
The Cross-site Request Forgery FAQ (Score:3, Informative)
http://www.cgisecurity.com/articles/csrf-faq.shtm
What is the vulnerability? (Score:2)
Re: (Score:3, Informative)
You can still do hidden posts with javascript. Just hook up the post to fire on onload or onclick of anything on the malicious site. The form response can be targeted to a hidden iframe so it's invisible to the user.
Most people have already turned off their browsers post warning and even if they didn't they don't have any reason to think it's posting to their bank's website or firewall device instead of the malicious site.
Re: (Score:2, Informative)
If you are logged into /. and you happen to click on that link, your signature will be changed to "blow me"
/. set to log in automatically and save your cookie, any request from your machine
(okay, I know nothing about scripting and this is just an example but you get the idea)
How do I supply this link to your browser? One example is on a malicious web page in an image tag, there are many others.
Since you have a