Messages in this thread | | | From | Kyle Moffett <> | Subject | Re: [patch] remove MNT_NOEXEC check for PROT_EXEC mmaps | Date | Sun, 24 Sep 2006 15:37:16 -0400 |
| |
On Sep 24, 2006, at 15:14:02, David Wagner wrote: > Stas Sergeev wrote: >> Ulrich Drepper wrote: >>> The consensus has been to add the same checks to mprotect. They >>> were >>> not left out intentionally. >> >> But how about the anonymous mmap with PROT_EXEC set? > > I'm curious about this, too. ld-linux.so is a purely unprivileged > program. It isn't setuid root. Can you write a variant of ld- > linux.so > that reads an executable into memory off of a partition mounted > noexec and > then begins executing that code? (perhaps by using anonymous mmap > with > PROT_EXEC or some other mechanism) It sure seems like the answer would > be yes. If so, I'm having a hard time understanding what guarantees > noexec gives you. Isn't the noexec flag just a speedbump that raises > the bar a little but doesn't really prevent anything?
I seem to recall somewhere that it was possible to prevent anonymous memory from being mapped PROT_EXEC during or after being mapped PROT_WRITE; and that in fact your average SELinux-enabled system had such protections for everything but the Java binary and a few other odd programs. If you can't ever execute any data blobs except those that came directly from a properly-secured SELinux-enabled filesystem it makes exploiting a server significantly harder.
Cheers, Kyle Moffett
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |