> I imagine that the mitigation that is sought by pledge is to minimize
> aberrent code reuse in whatever way a hacker can make code run again in a
> way that it isn't supposed to. And maybe the programmer can choose what can
> be problematic and what isn't if it runs again with their choice of the
> calls. What problem could occur that EVFILT_PROC with NOTE_EXIT (as opposed
> to EVFILT_PROC with maybe other fflags) could make that couldn't occur by
> trying to put a kevent on a file descriptor. Is "abusively" monitoring a
> process a security hole?

You want to avoid using pledge "proc" in your own code; you want
EVFILT_PROC to just work.  I guess you wish that EVFILT_PROC was
always enabled, inside the pledge "stdio" environment, since you
haven't described another proposal for what would toggle access.

But that means you don't care about everyone else's code, in
particular the whole base system.  1000+ code-chunks in the tree use
"stdio" (or something else slightly more) for normal operation, but
don't need or want EVFILT_PROC access as a matter of course.

So you think those 1000+ code-chunks should gain EVFILT_PROC ability,
because it is convenient for your code.  Result is if any of those
code-chunks has a buffer overflow or means for code execution
achievement, then it can observe all processes in the system.

Basically, you desire that all pledge "stdio" processes can scan for
the existance of all pid's by doing EVFILT_PROC attempts.  YES, that
is exactly what you want, I am not mincing words!  Basically you want
to undo the annotation/safety of pledge, because you haven't thought
things through.

Like, you'd be OK if a bug in the sshd pre-auth sandbox allowed such an
operation?

> If it is, shouldn't a task manager be run as root to see when a root
> process dies?

That has nothing to do with pledge.  If you want to ask an entirely
seperate question, ask it in a seperate email.

Reply via email to