lkml.org 
[lkml]   [2006]   [Sep]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: [patch] remove MNT_NOEXEC check for PROT_EXEC mmaps
    Date
    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/

    \
     
     \ /
      Last update: 2006-09-24 21:41    [W:3.190 / U:0.048 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site