BugTraq
/proc filesystem allows bypassing directory permissions on Linux Oct 23 2009 05:16PM
Pavel Machek (pavel ucw cz) (4 replies)
Re: /proc filesystem allows bypassing directory permissions on Linux Oct 26 2009 04:01PM
Tony Finch (dot dotat at) (3 replies)
Re: /proc filesystem allows bypassing directory permissions on Linux Oct 27 2009 01:06PM
Pavel Machek (pavel ucw cz)
Re: /proc filesystem allows bypassing directory permissions on Linux Oct 26 2009 10:48PM
Matthew Dempsky (matthew dempsky org) (1 replies)
Re: /proc filesystem allows bypassing directory permissions on Linux Oct 27 2009 11:29AM
Tony Finch (dot dotat at) (2 replies)
Re: /proc filesystem allows bypassing directory permissions on Linux Oct 27 2009 08:39PM
psz maths usyd edu au (1 replies)
Re: /proc filesystem allows bypassing directory permissions on Linux Oct 28 2009 10:31PM
Glynn Clements (glynn gclements plus com)
Re: /proc filesystem allows bypassing directory permissions on Linux Oct 27 2009 04:59PM
Matthew Dempsky (matthew dempsky org)
Re: /proc filesystem allows bypassing directory permissions on Linux Oct 25 2009 10:13AM
Pavel Kankovsky (peak argo troja mff cuni cz)
Re: /proc filesystem allows bypassing directory permissions on Linux Oct 24 2009 01:55AM
Daryl Tester (dt-bugtraq handcraftedcomputers com au)
Re: /proc filesystem allows bypassing directory permissions on Linux Oct 23 2009 07:57PM
Dan Yefimov (dan lightwave net ru) (2 replies)
Re: /proc filesystem allows bypassing directory permissions on Linux Oct 24 2009 06:46AM
Derek Martin (code pizzashack org) (1 replies)
Re: /proc filesystem allows bypassing directory permissions onLinux Oct 26 2009 06:37PM
Ansgar Wiechers (bugtraq planetcobalt net) (1 replies)
Re: /proc filesystem allows bypassing directory permissions on Linux Oct 27 2009 08:34PM
Derek Martin (code pizzashack org) (1 replies)
Re: /proc filesystem allows bypassing directory permissions on Linux Oct 23 2009 09:08PM
Pavel Machek (pavel ucw cz) (2 replies)
Re: /proc filesystem allows bypassing directory permissions on Linux Oct 23 2009 11:47PM
psz maths usyd edu au (1 replies)
Re: /proc filesystem allows bypassing directory permissions on Linux Oct 24 2009 07:02PM
Pavel Machek (pavel ucw cz) (1 replies)
Re: /proc filesystem allows bypassing directory permissions on Linux Oct 25 2009 12:40AM
psz maths usyd edu au (1 replies)
Re: /proc filesystem allows bypassing directory permissions on Linux Oct 26 2009 10:42AM
Dan Yefimov (dan lightwave net ru)
Re: /proc filesystem allows bypassing directory permissions on Linux Oct 23 2009 09:24PM
Dan Yefimov (dan lightwave net ru) (1 replies)
Re: /proc filesystem allows bypassing directory permissions on Linux Oct 23 2009 09:56PM
Pavel Machek (pavel ucw cz) (2 replies)
Re: /proc filesystem allows bypassing directory permissions on Linux Oct 26 2009 06:14PM
Joel Maslak (jmaslak antelope net)
Re: /proc filesystem allows bypassing directory permissions on Linux Oct 23 2009 10:31PM
Dan Yefimov (dan lightwave net ru) (1 replies)
Re: /proc filesystem allows bypassing directory permissions on Linux Oct 26 2009 04:14PM
Stephen Harris (bugtraq spuddy org) (1 replies)
Re: /proc filesystem allows bypassing directory permissions on Linux Oct 27 2009 11:04AM
Vincent Zweije vincent+bugtraq (at) sense.xs4all (dot) nl [email concealed] (vincent+bugtraq sense xs4all nl) (1 replies)
On Mon, Oct 26, 2009 at 12:14:36PM -0400, Stephen Harris wrote:

|| User1 creates file with permissions 0644
|| User2 opens file for read access on file descriptor 4
|| User1 chmod's directory to 0700
|| User1 chmod's file to 0666
|| User1 verifies no hard links to file
|| User2 can not open the file for read or write access
|| User2 can not write to file descriptor 4
|| User2 _can_ write to /proc/$$/fd/4
||
|| Now user2 is expected to be able to have read-access to the file via
|| (he opened it in step 2). If he attempts to write with ">&4" then it
|| silently fails (on Linux, anyway). But access via /proc/$$/fd/4 allows
|| write access.

On Sat, Oct 24, 2009 at 01:46:17AM -0500, Derek Martin wrote:

|| That said, the user in the example already has access to the file (in
|| a running process), and would be able to do so again, *if he had
|| access to a directory where the file was hard-linked*. Pavel
|| described that the sysadmin checked for that, but even if this worked
|| as expected, there's a race condition where the user could create the
|| hard link after the sysadmin checked, but before the permissions were
|| corrected. Unlikely, I know... but possible.

That race is easily fixed. After chmodding the directory to 0700, *first*
check the link count, *then* chmod the file to 0666:

User1 creates file with permissions 0644
User2 opens file for read access on file descriptor 4
User1 chmod's directory to 0700
User1 verifies no hard links to file
User1 chmod's file to 0666
User2 can not open the file for read or write access
User2 can not write to file descriptor 4
User2 _can_ write to /proc/$$/fd/4

Excluding the /proc route, at no point during this sequence, User2 could
have opened the file for writing. Therefore, User1 expects (justified,
imo) that User2 cannot write to the file. The writability of /proc/$$/fd/4
violates this expectation.

It is obscure, because it requires User1 to go through an unusual sequence
of steps, but not inconceivable.

|| I don't think what Pavel described is a very serious hole, but it *IS*
|| a hole, because:
||
|| 1. It circumvents the fact that to write to a file, you MUST be able
|| to write to its directory, so that the file attributes can be updated.
|| That's an important part of accountability.

As already remarked, this is not true. Write access to the directory is
necessary for creating and deleting the file (which changes the contents
of the directory), but not for writing to the file.

In fact, not even read access on the directory is necessary. Traverse (x)
access on the directory is enough to get to the file (inode, actually);
after that, the file permissions determine what you can do to the file's
contents.

Ciao. Vincent.
--
Vincent Zweije <zweije (at) xs4all (dot) nl [email concealed]> | "If you're flamed in a group you
<http://www.xs4all.nl/~zweije/> | don't read, does anybody get burnt?"
[Xhost should be taken out and shot] | -- Paul Tomblin on a.s.r.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)

iD8DBQFK5tOhr5thWunKoTMRAo4OAKCZcj6zh3gTbUFpWXZHwAI3Dn2vjACfQT2F
km+xlic94K7gDyvuSROpv9w=
=ZyAm
-----END PGP SIGNATURE-----

[ reply ]
Re: /proc filesystem allows bypassing directory permissions on Linux Oct 27 2009 05:09PM
Dan Yefimov (dan lightwave net ru) (3 replies)
Re: /proc filesystem allows bypassing directory permissions on Linux Oct 28 2009 09:27PM
Pavel Machek (pavel ucw cz) (1 replies)
Re: /proc filesystem allows bypassing directory permissions on Linux Oct 29 2009 03:24PM
Dan Yefimov (dan lightwave net ru) (1 replies)
Re: /proc filesystem allows bypassing directory permissions onLinux Oct 29 2009 07:20PM
Pavel Machek (pavel ucw cz) (1 replies)
Re: /proc filesystem allows bypassing directory permissions onLinux Oct 29 2009 08:10PM
Jim Paris (jim jtan com) (2 replies)
Re: /proc filesystem allows bypassing directory permissions on Linux Oct 30 2009 05:57PM
Marco Verschuur (marco osp nl)
Re: /proc filesystem allows bypassing directory permissions on Linux Oct 30 2009 05:22PM
Marco Verschuur (marco osp nl) (2 replies)
Re: /proc filesystem allows bypassing directory permissions onLinux Oct 30 2009 05:40PM
Jim Paris (jim jtan com) (1 replies)
Re: /proc filesystem allows bypassing directory permissions on Nov 02 2009 05:53PM
Martin Rex (Martin Rex sap com) (1 replies)
Re: /proc filesystem allows bypassing directory permissions on Nov 02 2009 07:53PM
Pavel Machek (pavel ucw cz) (1 replies)
Re: /proc filesystem allows bypassing directory permissions on Nov 02 2009 08:56PM
Gabor Gombas (gombasg sztaki hu) (1 replies)
Re: /proc filesystem allows bypassing directory permissions on Nov 02 2009 11:33PM
Martin Rex (Martin Rex sap com) (3 replies)
Re: /proc filesystem allows bypassing directory permissions on Nov 04 2009 08:29PM
Pavel Kankovsky (peak argo troja mff cuni cz)
Re: /proc filesystem allows bypassing directory permissions on Nov 03 2009 01:06PM
Dan Yefimov (dan lightwave net ru)
Re: /proc filesystem allows bypassing directory permissions on Nov 03 2009 09:32AM
Gabor Gombas (gombasg sztaki hu) (1 replies)
Re: /proc filesystem allows bypassing directory permissions on Nov 03 2009 11:17PM
psz maths usyd edu au (1 replies)
Re: /proc filesystem allows bypassing directory permissions on Nov 04 2009 08:06AM
Gabor Gombas (gombasg sztaki hu) (3 replies)
Re: /proc filesystem allows bypassing directory permissions on Nov 04 2009 10:15AM
psz maths usyd edu au (1 replies)
Re: /proc filesystem allows bypassing directory permissions on Nov 04 2009 11:40AM
Gabor Gombas (gombasg sztaki hu)
Re: /proc filesystem allows bypassing directory permissions on Nov 04 2009 08:32AM
Pavel Machek (pavel ucw cz)
Re: /proc filesystem allows bypassing directory permissions on Nov 04 2009 08:31AM
Pavel Machek (pavel ucw cz)
Re: /proc filesystem allows bypassing directory permissions on Linux Oct 30 2009 05:38PM
Pavel Machek (pavel ucw cz) (2 replies)
Re: /proc filesystem allows bypassing directory permissions on Linux Oct 30 2009 06:27PM
Marco Verschuur (marco osp nl)
Re: /proc filesystem allows bypassing directory permissions on Linux Oct 28 2009 08:28PM
Vincent Zweije (vzweije zweije nl)


 

Privacy Statement
Copyright 2010, SecurityFocus