Messages in this thread |  | | | Date | Wed, 18 Nov 2009 18:38:17 +0100 | | From | Pavel Machek <> | | Subject | Re: [PATCH 0/2] vfs: ensure that dentries are revalidated on open (try #2) |
| |
Hi!
> > > This is the second attempt to fix this problem. The first one attempted > > > to fix this in procfs, but Eric Biederman pointed out that file bind > > > mounts have a similar problem. This set attempts to fix the issue at a > > > higher level, in the generic VFS layer. > > > > > > In certain situations, when it knows that they are valid, the path > > > walking code will skip revalidating dentries that it finds in the cache. > > > This causes problems with filesystems such as NFSv4 and CIFS that depend > > > on the d_revalidate routine to do opens during lookup. > > > > ...and it allows bypassing directory permissions. Could we fix both > > here? > > Does it? Here's what I just did to check that:
Yes it does, see http://seclists.org/bugtraq/2009/Oct/179
> # cp /bin/sleep /root/sleep > > # ls -l /root /root/sleep > dr-xr-x---. 19 root root 4096 2009-11-18 07:20 /root > -rwxr-xr-x. 1 root root 29152 2009-11-18 07:20 /root/sleep > > # /root/sleep 600 > > ...then as unprivileged user: > > $ ps -ef | grep sleep > (find pid of sleep program that root is running) > > $ /proc/5258/exe 600 > bash: /proc/5258/exe: Permission denied > > ...it looks like directory permissions are respected here. Did I > misunderstand what you're concerned about?
/proc does not allow you to use /proc/XX/fd of unrelated users; it is another mechanism disallowing access. (Plus, I did my experiments with /proc/XX/fd, not /exe). Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
|  |