Slashdot Log In
Remote Code Execution Hole Found In Snort
Posted by
kdawson
on Tue Feb 20, 2007 10:00 PM
from the upgrade-right-now dept.
from the upgrade-right-now dept.
Palljon1123 writes "A stack-based buffer overflow in the Snort intrusion detection system could leave government and enterprise installations vulnerable to remote unauthenticated code execution attacks. The flaw, found by researchers at IBM's ISS X-Force, affects the Snort DCE/RPC preprocessor and could be used to execute code with the same privileges (usually root or SYSTEM) as the Snort binary. No user action is required." Sourcefire has an update to fix the vulnerability in versions 2.6.1, 2.6.1.1, and 2.6.1.2; Heise Security spells out the workaround for the 2.7.0 beta version.
This discussion has been archived.
No new comments can be posted.
Remote Code Execution Hole Found In Snort
|
Log In/Create an Account
| Top
| 95 comments
| Search Discussion
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.

SANS (Score:4, Informative)
The very definition of irony (Score:3, Insightful)
Re:The very definition of irony (Score:4, Informative)
(Last Journal: Thursday September 30 2004, @01:33AM)
Remote, what about stealth installations (Score:4, Insightful)
Re:Remote, what about stealth installations (Score:4, Informative)
(http://www.etl.luc.edu/ | Last Journal: Monday December 11 2006, @05:40AM)
There are a few problems with passive taps...
1. They *don't* work with gigabit ethernet. If I remember the spec for gigabit ethernet correctly, this has something to do with the fact all of the wire pairs are used for XMIT and RECV.
2. The passive tap in the link you provided isn't exactly good for your network. This tap will still draw current as well as introduce some interference. In the worst case, you can blow a NIC with one of these. Of course, the easiest way around these problems is to use a hub (do not use a network switch as that won't work... you need a HUB).
3. You will need to run 2 NICs (1 for XMIT, 1 for RECV) in order to examine full duplex traffic. This may be an issue if you are trying to run snort on an embedded device.
If I had the option, I would rather run a spare computer as a Linux (or BSD based for that matter) firewall box and use port mirroring to mirror ethernet traffic over IEEE1394 (firewire) to another box running snort. The only downside is that ethernet over firewire is at best a 400 megabit connection.
Somehow, this must be... (Score:3, Funny)
Silly Hackers (Score:5, Funny)
Re:Silly Hackers (Score:5, Insightful)
(http://127.31.33.7/)
Every company large enough to need a Security team (you know, the companies with the most money) is going to be running Linux. Nearly all the best infosec tools are Linux apps. I know you are likely going for Colbert-esque humor here, but the fact is that companies that run Snort on Linux probably have much MORE money to steal, on average, than companies that do not.
Why this vulnerability? (Score:4, Insightful)
(http://www.securityzone.org/)
So (Score:4, Funny)
(Last Journal: Thursday February 15 2007, @08:00PM)
Would be somewhat helpful saying "Hey look somebody is rooting me!"
What I'd like to know is... (Score:1)
Disable the dce/rpc preprocessor (Score:3, Informative)
There are some instances where this should be running such as internal traffic monitoring, but I don't see how this can hit people from the internet with fragmented RPC traffic unless they're allowing it at the firewall.
Also, don't run any network service as root. FC6 install of snort does run as root by default, kinda lame.
-u username -g groupname arguments in the init script when starting the daemon will make it run as username:groupname credentials. nobody:nogroup maybe. Consider also chroot jail.
Old tips http://isc.sans.org/diary.html?date=2005-10-18 [sans.org]
Darn... (Score:2)
Shouldn't be running as "root". (Score:2)
(http://www.animats.com)
If an intrusion detection system has to run as root, it's part of the problem, not the solution.
Biggest single security problem with UNIX and Linux is that way too much stuff runs as "root". Too much trusted code.
Not that Windows is much better, although, in Vista, they're finally trying.
snort shouldn't be running as root (Score:2)
(Last Journal: Saturday January 06 2007, @01:13AM)
Snort has had a pretty poor track record for this (for that matter tcpdump has also had similar problems).
Completely unnecessary (Score:5, Informative)
(http://vintermann.paranoidkoala.org/)
(and no, the error isn't there, it's just the first thing I came across in the snort source)
Why are they even using C? Suprise, they make exploitable buffer overflow attacks! And they still have one verified, non-fixed issue detected by coverity, plus 33 "uninspected and pending" according to coverity's scan [coverity.com].
int CheckRule(char *str)
{
int len;
int got_paren = 0;
int got_semi = 0;
char *index;
len = strlen(str);
index = str + len - 1;
while((isspace((int)*index)))
{
if(index > str)
index--;
else
return 0;
}
if(*index == ')')
{
got_paren = 1;
index--;
}
while((isspace((int)*index)))
{
if(index > str)
index--;
else
return 0;
}
if(*index == ';')
Now can we stop using C, please? (Score:2)
Can we stop now using C, please? pretty please?
how many more buffer overflows do we need to get persuaded that C does not cut it any more? working at 95% of the cases is not good enough in this day and age.
How many times does it have to be said? [slashdot.org]
Privilege separation? (Score:2)
But wait! (Score:1)
(http://www.ic-solutions.com.au/)
Re:Year of the .. (Score:5, Funny)
(http://www.etl.luc.edu/ | Last Journal: Monday December 11 2006, @05:40AM)
Boaring!
Re:You FAI:L it (goatse) (Score:1)
Re:Year of the .. (Score:1, Funny)
Re:Buffer overflow is the price to pay... (Score:2)
(Last Journal: Tuesday October 30, @10:59AM)
Ok, I'll talk about performance. Performance in this context is never, ever plural, unless you were talking about, say, dance performances.
But seriously, look at your Java VM. Look for all the benchmarks and justifications you like, but the fact is, I still have to wait on my machine in order to try Hello.java. It feels slow, and I can actually go find some benchmarks to prove it is slow.
Which becomes irrelevant when you run more than one of them.
Now, I actually agree with you -- in theory, a VM should be as fast or faster than C. In theory, multithreaded apps should be easy to write. And yes, in practice, there are ways to protect yourself from buffer overflows, although it won't save you from other stupid mistakes.
However, the first two have a theory which hasn't caught up with practice yet (I'm working on that), and in practice, buffer overflows are really secondary to sheer programmer stupidity -- see the Tetris/plane exploit? The buffer overflow was what brought the whole system down, but there is no language that automatically saves you from allowing a user to put the system into an invalid state. With a phone.