Bugtraq mailing list archives

Re: COSEINC Linux Advisory #1: Linux Kernel Parent Process Death Signal Vulnerability


From: Wojciech Purczynski <cliph () isec pl>
Date: Wed, 15 Aug 2007 21:09:48 +0200 (CEST)


This doesn't change anything in what I said previously. If the sender's
EUID or RUID equals to any of SUID or RUID of the victim or the sender
process is root, the sender can send any signal to the victim; if none
of those conditions are met, it obviously can't, no matter how and what
signal it sends. For details look at check_kill_permission() and
group_send_sig_info() in kernel/signal.c and reparent_thread() in
kernel/exit.c in the kernel source tree (version 2.6.22).

Dan, could you take a closer look at what setuid(0) does? In the beggining
of setuid manual page you can read that:

       setuid  sets the effective user ID of the current process.
       If the effective userid of the caller is  root,  the  real
       and saved user ID's are also set.

In this case check_kill_permission() returns -EPERM for unprivileged
parent.


Current thread: