opnsense-src/sys/fs/fuse
Alan Somers 1f44d1861a fusefs: handle evil servers that return illegal inode numbers
* If during FUSE_CREATE, FUSE_MKDIR, etc the server returns the same
  inode number for the new file as for its parent directory, reject it.
  Previously this would triggers a recurse-on-non-recursive lock panic.

* If during FUSE_LINK the server returns a different inode number for
  the new name as for the old one, reject it.  Obviously, that can't be
  a hard link.

* If during FUSE_LOOKUP the server returns the same inode number for the
  new file as for its parent directory, reject it.  Nothing good can
  come of this.

PR:		263662
Reported by:	Robert Morris <rtm@lcs.mit.edu>
Reviewed by:	pfg
Differential Revision: https://reviews.freebsd.org/D35128

(cherry picked from commit 0bef4927ea)
2022-06-18 08:16:20 -06:00
..
fuse.h [skip ci] update copyright headers in fusefs files 2019-06-28 04:18:10 +00:00
fuse_device.c fusefs: validate servers' error values 2022-05-12 14:37:24 -06:00
fuse_file.c fusefs: implement FUSE_NO_OPEN_SUPPORT and FUSE_NO_OPENDIR_SUPPORT 2021-12-06 21:51:55 -07:00
fuse_file.h fusefs: implement FUSE_NO_OPEN_SUPPORT and FUSE_NO_OPENDIR_SUPPORT 2021-12-06 21:51:55 -07:00
fuse_internal.c fusefs: fix an undefined variable access 2022-05-23 13:11:16 -06:00
fuse_internal.h fuse: Fix build on 32-bit architectures 2022-03-03 03:22:30 +00:00
fuse_io.c fusefs: correctly handle servers that report too much data written 2022-05-12 14:39:47 -06:00
fuse_io.h fusefs: inline fuse_io_dispatch 2022-01-02 19:54:39 -07:00
fuse_ipc.c fusefs: implement VOP_ALLOCATE 2022-01-17 18:13:28 -07:00
fuse_ipc.h fusefs: handle evil servers that return illegal inode numbers 2022-06-18 08:16:20 -06:00
fuse_kernel.h fusefs: implement FUSE_NO_OPEN_SUPPORT and FUSE_NO_OPENDIR_SUPPORT 2021-12-06 21:51:55 -07:00
fuse_main.c modules: increase MAXMODNAME and provide backward compat 2021-12-30 18:26:18 +00:00
fuse_node.c fusefs: handle evil servers that return illegal inode numbers 2022-06-18 08:16:20 -06:00
fuse_node.h Fix a race in fusefs that can corrupt a file's size. 2022-01-17 17:59:03 -07:00
fuse_vfsops.c fusefs: use the fsname mount option if set 2022-05-23 13:11:11 -06:00
fuse_vnops.c fusefs: handle evil servers that return illegal inode numbers 2022-06-18 08:16:20 -06:00