|
|||||||||||
|
Re: COSEINC Linux Advisory #1: Linux Kernel Parent Process Death Signal Vulnerability
From: Glynn Clements <glynn(at)gclements.plus.com>
Date: Fri Aug 17 2007 - 17:33:35 EDT Dan Yefimov wrote: > > > Really? An what if we fork right after startup and perform operations as a In retrospect, I realise that this is self-contradictory. Well, sort of; more accurately, I'm arguing both sides. Even if delivery of PDEATHSIG is inhibited, there might be other reasons to avoid an extra fork. > So I don't understand you, whether is the bug in question a DoS issue or not in There definitely appears to be potential for DoS against system-wide resources. There could be other consequences, depending upon the extent to which any given setuid binary relies upon the OS to restrict signals. Personally, I would lean towards PDEATHSIG being reset upon exec() of setuid/setgid binary. Mainly because this feature is a Linux extension; even if it's possible to protect against this feature, binaries which aren't specifically written for Linux won't be allowing for it. > > > And this IS generally impossible. Once spawned setuid root binary that will I would agree that this isn't a particularly high-severity bug. On one hand, it can be triggered reliably; on the other hand, it requires local access and probably can't achieve more than DoS. Even so, the restrictions on the sending of signals are considered a security mechanism, so I don't think that it's unreasonable to consider this a security issue regardless of the extent to which existing setuid binaries are affected by it. AFAICT, the intent was that PDEATHSIG would be subject to the same kind of restrictions as kill() or F_SETOWN etc. But in this case, the "sender" is incorrectly determined as the EUID at the point that the process dies rather than the point that prctl() was called. Recording the actual "initiator" probably isn't feasible, so clearing PDEATHSIG on setuid exec() is probably the only viable solution. -- Glynn ClementsReceived on Mon Aug 20 12:23:55 2007 This archive was generated by hypermail 2.1.8 : Sun Oct 28 2007 - 06:12:42 EDT |
||||||||||
|
|||||||||||