> (a) minimal: just use our existing default stack (and stack _only_) > limit value for suid binaries that actually get extra permissions: { > _STK_LIM, RLIM_INFINITY }.
Even that is dangerous because a setuid binary can be transitioning between two users (none privileged) yet be subject to an rlimit attack. There's even less reason to believe that non root setuid binaries are properly hardened than obvious targets. CPU limit attacks in particular can be used to do some quite clever things. Also consider a binary that is gaining some minor right (eg network rights) being targetted because giving it extra permissions allows the attacker to gain access to infinite resources when that clearly isn't the intent. > (c) perhaps encourage people to annotate their suid binaries with > initial resource requirements (and for stack, I mean the existing > GNU_STACK ELF annotation in particular). Making this for setuid binaries only makes no sense. If a user can annotate required resources and the execve() fails if those resources are over the rlimit then that is a useful feature full stop, and there's no reason to even make it setuid dependent. Alan