linux/fs/ksmbd
Hyunchul Lee f58eae6c5f ksmbd: prevent out of share access
Because of .., files outside the share directory
could be accessed. To prevent this, normalize
the given path and remove all . and ..
components.

In addition to the usual large set of regression tests (smbtorture
and xfstests), ran various tests on this to specifically check
path name validation including libsmb2 tests to verify path
normalization:

 ./examples/smb2-ls-async smb://172.30.1.15/homes2/../
 ./examples/smb2-ls-async smb://172.30.1.15/homes2/foo/../
 ./examples/smb2-ls-async smb://172.30.1.15/homes2/foo/../../
 ./examples/smb2-ls-async smb://172.30.1.15/homes2/foo/../
 ./examples/smb2-ls-async smb://172.30.1.15/homes2/foo/..bar/
 ./examples/smb2-ls-async smb://172.30.1.15/homes2/foo/bar../
 ./examples/smb2-ls-async smb://172.30.1.15/homes2/foo/bar..
 ./examples/smb2-ls-async smb://172.30.1.15/homes2/foo/bar../../../../

Signed-off-by: Hyunchul Lee <hyc.lee@gmail.com>
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
2021-09-17 17:18:48 -05:00
..
mgmt ksmbd: reorder and document on-disk and netlink structures in headers 2021-06-30 14:47:24 +09:00
asn1.c
asn1.h
auth.c
auth.h
connection.c ksmbd: fix typo in comment 2021-07-15 10:25:30 +09:00
connection.h ksmbd: add support for negotiating signing algorithm 2021-07-22 09:56:02 +09:00
crypto_ctx.c
crypto_ctx.h
glob.h
Kconfig ksmbd: remove select FS_POSIX_ACL in Kconfig 2021-08-13 08:18:10 +09:00
ksmbd_netlink.h ksmbd: reorder and document on-disk and netlink structures in headers 2021-06-30 14:47:24 +09:00
ksmbd_spnego_negtokeninit.asn1
ksmbd_spnego_negtokentarg.asn1
ksmbd_work.c ksmbd: reorder and document on-disk and netlink structures in headers 2021-06-30 14:47:24 +09:00
ksmbd_work.h ksmbd: change data type of volatile/persistent id to u64 2021-07-09 08:23:16 +09:00
Makefile
misc.c ksmbd: prevent out of share access 2021-09-17 17:18:48 -05:00
misc.h ksmbd: prevent out of share access 2021-09-17 17:18:48 -05:00
ndr.c ksmbd: add missing assignments to ret on ndr_read_int64 read calls 2021-09-08 17:15:48 -05:00
ndr.h ksmbd: add user namespace support 2021-07-02 16:27:10 +09:00
nterr.h
ntlmssp.h
oplock.c ksmbd: fix translation in create_posix_rsp_buf() 2021-09-03 23:29:44 -05:00
oplock.h ksmbd: remove SMB1 oplock level macros 2021-06-30 14:43:51 +09:00
server.c ksmbd: set STATUS_INVALID_PARAMETER error status if credit charge is invalid 2021-07-19 16:20:02 +09:00
server.h ksmbd: change server config string index to enumeration 2021-06-30 14:44:01 +09:00
smb2misc.c ksmbd: move credit charge verification over smb2 request size verification 2021-07-19 16:20:04 +09:00
smb2ops.c ksmbd: add support for negotiating signing algorithm 2021-07-22 09:56:02 +09:00
smb2pdu.c ksmbd: prevent out of share access 2021-09-17 17:18:48 -05:00
smb2pdu.h ksmbd: change int data type to boolean 2021-08-13 08:18:03 +09:00
smb_common.c ksmbd: fix translation in smb2_populate_readdir_entry() 2021-09-03 23:29:44 -05:00
smb_common.h ksmbd: fix translation in smb2_populate_readdir_entry() 2021-09-03 23:29:44 -05:00
smbacl.c ksmbd: fix control flow issues in sid_to_id() 2021-09-08 17:16:13 -05:00
smbacl.h ksmbd: fix translation in acl entries 2021-09-03 23:29:44 -05:00
smbfsctl.h
smbstatus.h
transport_ipc.c ksmbd: fix kernel oops in ksmbd_rpc_ioctl/rap() 2021-07-03 08:02:18 +09:00
transport_ipc.h
transport_rdma.c ksmbd: transport_rdma: Don't include rwlock.h directly 2021-09-17 08:58:43 -05:00
transport_rdma.h ksmbd: fix typo of MS-SMBD 2021-07-22 09:55:58 +09:00
transport_tcp.c ksmbd: Fix potential memory leak in tcp_destroy_socket() 2021-07-23 13:10:55 +09:00
transport_tcp.h
unicode.c
unicode.h
uniupr.h
vfs_cache.c ksmbd: remove unused ksmbd_file_table_flush function 2021-09-03 23:29:45 -05:00
vfs_cache.h ksmbd: remove unused ksmbd_file_table_flush function 2021-09-03 23:29:45 -05:00
vfs.c ksmbd: fix translation in acl entries 2021-09-03 23:29:44 -05:00
vfs.h ksmbd: fix lookup on idmapped mounts 2021-09-03 23:29:44 -05:00
xattr.h ksmbd: reorder and document on-disk and netlink structures in headers 2021-06-30 14:47:24 +09:00