LWN.net Logo

Really exploitable?

Really exploitable?

Posted Dec 12, 2007 18:12 UTC (Wed) by tialaramex (subscriber, #21167)
In reply to: Really exploitable? by arjan
Parent article: Samba for Fedora Core 6

The answer is "probably if you tried hard enough" as usual. Most of the improvements in modern
operating systems (rather than improvements in the development process of the application
software) concentrate on script kiddies, making it difficult to create a "one size fits all"
exploit that will reliably break into huge numbers of servers. For the remaining bad guys,
people with a financial interest in unauthorised access or the occasional teenager with real
skill and an anti-social personality, such bolt-on security is rarely more than a minor
obstacle.

For example, ASLR means absolute address based attacks will usually do nothing or crash
instead of working. But what happens when your server crashes? Most likely it is automatically
restarted. This is no fun for a script kiddie. He pushes the button and nothing happens (or so
it seems). But a patient and determined attacker can fiddle with the parameters again and
again until they get it to work.

Or consider a Mandatory Access Control system like SELinux. A script kiddie might give up on
your servers when his exploit is refused permission to start a remote shell due to MAC. But a
sophisticated attacker could investigate the OS provided MAC settings, discover an oversight,
and use that to gain access to the machines by modifying the script kiddie's exploit to use
this flaw (e.g. writing into a user's home directory to make them execute a remote shell for
you during their next login).

Actually I don't much like the look of the "fix" either. Complicated comparisons like this
with the bad guy choosing the input values tend to be fragile. Without reading the surrounding
code I can't be sure, of course, it could be fine (maybe his input limit is UDP packet size,
which is much smaller than INT_MAX), but right now I'm kind of worried that he can force a
sign-wrap and bypass the checks or something.


(Log in to post comments)

Copyright © 2012, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds