Re: [RFC PATCH v1 0/5] Add support for O_MAYEXEC

From: MickaÃl SalaÃn
Date: Thu Dec 13 2018 - 09:57:13 EST

On 13/12/2018 06:13, Florian Weimer wrote:
> * James Morris:
>> On Wed, 12 Dec 2018, Florian Weimer wrote:
>>> * James Morris:
>>>> If you're depending on the script interpreter to flag that the user may
>>>> execute code, this seems to be equivalent in security terms to depending
>>>> on the user. e.g. what if the user uses ptrace and clears O_MAYEXEC?

This security mechanism makes sense in an hardened system where the user
is not allowed to import and execute new file (write xor execute
policy). This can be enforced with appropriate mount points a more
advanced access control policy.

>>> The argument I've heard is this: Using ptrace (and adding the +x
>>> attribute) are auditable events.
>> I guess you could also preload a modified libc which strips the flag.
> My understanding is that this new libc would have to come somewhere, and
> making it executable would be an auditable even as well.

Auditing is a possible use case as well, but the W^X idea is to deny use
of libraries which are not in an executable mount point, i.e. only
execute trusted code.