Re: [patch] remove MNT_NOEXEC check for PROT_EXEC mmaps

From: David Wagner
Date: Sun Sep 24 2006 - 18:50:15 EST


Kyle Moffett wrote:
>On Sep 24, 2006, at 15:14:02, David Wagner wrote:
>> 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.

Interesting. You're probably right. Thanks.

I don't mean to sound ungrateful, but I'm still curious about my original
question (which I don't believe has been answered). To be honest, I
wasn't asking whether it was possible to configure Linux or SELinux in
a way that blocks this "attack"; I was more interested in whether this
"attack" will succeed against a stock Linux system. If you have any
thoughts on that question, I'd be interested to hear them. I notice that
the original poster has raised essentially this point more than once,
too, but never got any response, either.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/