| From | Greg Kroah-Hartman <> | Subject | [PATCH 3.4 55/99] fuse: readdir: check for slash in names | Date | Fri, 7 Mar 2014 17:07:51 -0800 |
| |
3.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Miklos Szeredi <mszeredi@suse.cz>
commit efeb9e60d48f7778fdcad4a0f3ad9ea9b19e5dfd upstream.
Userspace can add names containing a slash character to the directory listing. Don't allow this as it could cause all sorts of trouble.
Signed-off-by: Miklos Szeredi <mszeredi@suse.cz> [bwh: Backported to 3.2: drop changes to parse_dirplusfile() which we don't have] Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Cc: Rui Xiang <rui.xiang@huawei.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
--- fs/fuse/dir.c | 2 ++ 1 file changed, 2 insertions(+)
--- a/fs/fuse/dir.c +++ b/fs/fuse/dir.c @@ -1103,6 +1103,8 @@ static int parse_dirfile(char *buf, size return -EIO; if (reclen > nbytes) break; + if (memchr(dirent->name, '/', dirent->namelen) != NULL) + return -EIO; over = filldir(dstbuf, dirent->name, dirent->namelen, file->f_pos, dirent->ino, dirent->type);
|