Re: [PATCH 0/3] Misc. redirect_dir=nofollow fixes

Vivek Goyal
2020-07-14T18:07:12Z

On Mon, Jul 13, 2020 at 05:19:42PM +0300, Amir Goldstein wrote:
> Miklos, Vivek,
>
> Following discussion on following an unsafe non-dir origin [1]
> and in a addition to a fix for the reported null uuid case [2] and to
> Vivek's doc clarification [3], I am proposing to piggy back existing
> config redirect_dir=nofollow to also not follow non-dir origin.
>
> Like in the case of non-dir origin, following redirects behavior was
> added with no opt-out option in kernel v4.10. Later security concerns
> about following malformed redirects resulted in the redirect_dir=nofollow
> config option.

So what's the security issue you are seeing with malformed origin? If
it indeed is a security threat, then we should probably introduce
another mount option to disable it (instead of reusing redirect_dir,
because that's so unintuitive, IMHO).

Thanks
Vivek
>
> Without giving too much thought into how unsafe it can be to follow
> a bad origin, there is very low motication IMO to follow non-dir origin
> with redirect_dir=nofollow, because it is a configuration that prefers
> safety over correctness, so it just seems like the right thing to do.
>
> The first two patches are independent bug fixes related to read-only
> NFS export, which can be taken regardless of non-dir origin nofollow.
> FYI, I found those bugs because I am using ro,index=off NFS export
> configuration for the new overlay fsnotify snaphsot series.
>
> Thanks,
> Amir.
>
> [1] https://lore.kernel.org/linux-unionfs/CAJfpegv9h7ubuGy_6K4OCdZd3R7Z4HGmCDB2L7mO5bVoGd6MSA@mail.gmail.com/
> [2] https://lore.kernel.org/linux-unionfs/20200708131613.30038-1-amir73il@gmail.com/
> [3] https://lore.kernel.org/linux-unionfs/20200709140220.GC150543@redhat.com/
>
> Amir Goldstein (3):
> ovl: force read-only sb on failure to create index dir
> ovl: fix mount option checks for nfs_export with no upperdir
> ovl: do not follow non-dir origin with redirect_dir=nofollow
>
> Documentation/filesystems/overlayfs.rst | 4 +--
> fs/overlayfs/namei.c | 2 +-
> fs/overlayfs/super.c | 42 ++++++++++++++-----------
> 3 files changed, 27 insertions(+), 21 deletions(-)
>
> --
> 2.17.1
>