All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nick Piggin <npiggin@kernel.dk>
To: Neil Brown <neilb@suse.de>
Cc: Nick Piggin <npiggin@kernel.dk>,
	Al Viro <viro@ZenIV.linux.org.uk>,
	Christoph Hellwig <hch@infradead.org>,
	"Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>,
	adilger@sun.com, corbet@lwn.net, hooanon05@yahoo.co.jp,
	bfields@fieldses.org, miklos@szeredi.hu,
	linux-fsdevel@vger.kernel.org, sfrench@us.ibm.com,
	philippe.deniel@CEA.FR, linux-kernel@vger.kernel.org
Subject: Re: [PATCH -V18 04/13] vfs: Allow handle based open on symlinks
Date: Tue, 24 Aug 2010 17:29:58 +1000	[thread overview]
Message-ID: <20100824072958.GB3948@amd> (raw)
In-Reply-To: <20100823091708.6f03c42b@notabene>

On Mon, Aug 23, 2010 at 09:17:08AM +1000, Neil Brown wrote:
> On Sat, 21 Aug 2010 18:30:24 +1000
> Nick Piggin <npiggin@kernel.dk> wrote:
> 
> > Thanks, I had both of the same concerns as Christoph with API
> > change and exposing symlink fds last time I looked at the patces,
> > actually.
> > 
> > But they can probably be worked around or avoided. I think the more
> > important thing is whether it is worth supporting. This is
> > all restricted to root (or CAP_DAC_READ_SEARCH) only, right, and
> > what exact semantics they want. I would like to see more discussion
> > of what this enables and some results.
> 
> They allow a credible user-space implementation of the server for some
> network filesystem protocols such as NFS and apparently 9P.
> 
> > 
> > For the case of avoiding expensive network revalidations in path name
> > lookup, do we even need to open symlinks? Could the security issues be
> > avoided by always having handle attached to an open fd?
> 
> I don't see what you are getting at here... which particular security isses,
> and what fd would you use?

Well the issue that you need escalated privilges to use it. The other
use case for it I understand is Andreas's file-handle-server which
avoids a lot of path lookup costs on non-local filesystems. I'm
wondering is that really useful if it's not availale to unprivileged
users?

> 
> As I understand it there are only two security issues that have been noted.
> 1/ lookup-by-filehandle can bypass any 'search' permission tests on ancestor
>    directories.  I cannot see any way to avoid this except require
>    CAP_DAC_READ_SEARCH
> 2/ Creating a hardlink to an 'fd'  allows a process that was given an 'fd'
>    that it could not have opened itself to prevent that file from being
>    removed (and space reclaimed) by creating a private hardlink.
>    This could be avoided by requiring CAP_DAC_READ_SEARCH for that particular
>    operation (and probably requiring i_nlink > 0 anyway) but that feels like
>    a very special-case restriction.

Just so long as the process could have created a hardlink to the file
otherwise via traditional operations, I think it's OK.

> 
> Was it one of these that you were referring to?

Just the general problem of security and inherent restrictions to using
the syscalls.


  reply	other threads:[~2010-08-24  7:30 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-20  1:51 [PATCH -V18 0/13] Generic name to handle and open by handle syscalls Aneesh Kumar K.V
2010-08-20  1:51 ` [PATCH -V18 01/13] exportfs: Return the minimum required handle size Aneesh Kumar K.V
2010-08-20  1:51 ` [PATCH -V18 02/13] vfs: Add name to file handle conversion support Aneesh Kumar K.V
2010-08-20  1:51 ` [PATCH -V18 03/13] vfs: Add open by file handle support Aneesh Kumar K.V
2010-08-20  1:51 ` [PATCH -V18 04/13] vfs: Allow handle based open on symlinks Aneesh Kumar K.V
2010-08-20  2:13   ` Aneesh Kumar K. V
2010-08-20  6:53     ` Aneesh Kumar K. V
2010-08-20  8:30   ` Christoph Hellwig
2010-08-20  9:53     ` Neil Brown
2010-08-20 11:51       ` Al Viro
2010-08-21  0:09         ` Neil Brown
2010-08-21  7:13           ` Andreas Dilger
2010-08-21  9:32             ` Aneesh Kumar K. V
2010-08-22 23:06             ` Neil Brown
2010-08-23  1:24               ` Aneesh Kumar K. V
2010-08-23  1:52                 ` Neil Brown
2010-08-24 10:40                   ` Aneesh Kumar K. V
2010-08-23  2:49               ` Aneesh Kumar K. V
2010-08-25  2:06                 ` Neil Brown
2010-08-24  9:41               ` Bastien ROUCARIES
2010-08-25  2:04                 ` Neil Brown
2010-08-25  2:04                   ` Neil Brown
2010-08-25  9:13                   ` Bastien ROUCARIES
2010-08-21  8:30           ` Nick Piggin
2010-08-21  9:42             ` Aneesh Kumar K. V
2010-08-22  2:02               ` Aneesh Kumar K. V
2010-08-24  7:21               ` Nick Piggin
2010-08-24 10:34                 ` Aneesh Kumar K. V
2010-08-24 13:19                 ` J. Bruce Fields
2010-08-22 23:17             ` Neil Brown
2010-08-24  7:29               ` Nick Piggin [this message]
2010-08-21  9:31           ` Aneesh Kumar K. V
2010-08-20 13:25       ` Peter Zijlstra
2010-08-20 23:47         ` Neil Brown
2010-08-20 14:38     ` Aneesh Kumar K. V
2010-08-20  1:51 ` [PATCH -V18 05/13] vfs: Support null pathname in readlink Aneesh Kumar K.V
2010-08-20  8:32   ` Christoph Hellwig
2010-08-20 10:04     ` Neil Brown
2010-08-20 14:43     ` Aneesh Kumar K. V
2010-08-20  1:51 ` [PATCH -V18 06/13] vfs: Support null pathname in faccessat Aneesh Kumar K.V
2010-08-20  1:51 ` [PATCH -V18 07/13] vfs: Support null pathname in linkat Aneesh Kumar K.V
2010-08-20  1:51 ` [PATCH -V18 08/13] x86: Add new syscalls for x86_32 Aneesh Kumar K.V
2010-08-20  1:51 ` [PATCH -V18 09/13] x86: Add new syscalls for x86_64 Aneesh Kumar K.V
2010-08-20  1:51 ` [PATCH -V18 10/13] unistd.h: Add new syscalls numbers to asm-generic Aneesh Kumar K.V
2010-08-20  1:51 ` [PATCH -V18 11/13] vfs: Export file system uuid via /proc/<pid>/mountinfo Aneesh Kumar K.V
2010-08-20  1:51 ` [PATCH -V18 12/13] ext3: Copy fs UUID to superblock Aneesh Kumar K.V
2010-08-20  1:51 ` [PATCH -V18 13/13] ext4: " Aneesh Kumar K.V

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100824072958.GB3948@amd \
    --to=npiggin@kernel.dk \
    --cc=adilger@sun.com \
    --cc=aneesh.kumar@linux.vnet.ibm.com \
    --cc=bfields@fieldses.org \
    --cc=corbet@lwn.net \
    --cc=hch@infradead.org \
    --cc=hooanon05@yahoo.co.jp \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=miklos@szeredi.hu \
    --cc=neilb@suse.de \
    --cc=philippe.deniel@CEA.FR \
    --cc=sfrench@us.ibm.com \
    --cc=viro@ZenIV.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.