Messages in this thread | | | Date | Fri, 08 Aug 2008 11:54:48 +0930 | From | Daryl Tester <> | Subject | Re: PROBLEM?: "permission denied" when accessing /proc/self/fd/* after setuid |
| |
Alexey Dobriyan wrote:
> Something similar was fixed in 2.6.22, but let me check.
You're right - from <http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.22>:
commit 8948e11f450e6189a79e47d6051c3d5a0b98e3f3 Author: Alexey Dobriyan <adobriyan@openvz.org> Date: Tue May 8 00:23:35 2007 -0700
Allow access to /proc/$PID/fd after setuid()
/proc/$PID/fd has r-x------ permissions, so if process does setuid(), it will not be able to access /proc/*/fd/. This breaks fstatat() emulation in glibc.
open("foo", O_RDONLY|O_DIRECTORY) = 4 setuid32(65534) = 0 stat64("/proc/self/fd/4/bar", 0xbfafb298) = -1 EACCES (Permission denied)
However, one of the kernels I tried this on (and failed) was a 2.6.24-19 - is it possible this patch was backed out?
Cheers, --dt
| |