On 10/20/13 21:54, Theo de Raadt wrote:
>> Indeed, the interpreter is not passed to execve. That's why I used
>> >    'get executed'
>> >instead of
>> >    'are executed'
>> >though the difference might not be clear.
>> >
>> >The kernel loads the interpreter, and the code of that interpreter
>> >gets executed. So, actually, it plays as an executable. And as long
>> >as code gets executed from it, it should have +x rights.
>> >
>> >Shouldn't it?
> Absolutely not, because then someone can try to run execve on it.
> 

Maybe I'm missing something.

I don't get what's wrong with running execve on it. In all cases,
someone can load it through another executable.

If I have an interpreter that I chmod as exec-only, I want this
interpreter to be world-loadable without thereby letting other
users copy it. The same for a library.

> You are not thinking clearly.

I've just given a glance to FreeBSD and NetBSD. They both check
exec rights, not read rights. So it looks like I'm not the only
one who does not think clearly...

Reply via email to