[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 14/29] 9pfs: local: utimensat: don't follow syml
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] [PATCH 14/29] 9pfs: local: utimensat: don't follow symlinks |
Date: |
Thu, 23 Feb 2017 14:48:05 +0000 |
User-agent: |
Mutt/1.7.1 (2016-10-04) |
On Mon, Feb 20, 2017 at 03:41:08PM +0100, Greg Kurz wrote:
> The local_utimensat() callback is vulnerable to symlink attacks because it
> calls qemu_utimens()->utimensat(AT_SYMLINK_NOFOLLOW) which follows symbolic
> links in all path elements but the rightmost one or qemu_utimens()->utimes()
> which follows symbolic links for all path elements.
>
> This patch converts local_utimensat() to rely on opendir_nofollow() and
> utimensat(AT_SYMLINK_NOFOLLOW) directly instead of using qemu_utimens().
> It is hence assumed that the OS supports utimensat(), i.e. has glibc 2.6
> or higher and linux 2.6.22 or higher, which seems reasonable nowadays.
>
> This partly fixes CVE-2016-9602.
>
> Signed-off-by: Greg Kurz <address@hidden>
> ---
> hw/9pfs/9p-local.c | 19 +++++++++++++------
> 1 file changed, 13 insertions(+), 6 deletions(-)
Reviewed-by: Stefan Hajnoczi <address@hidden>
signature.asc
Description: PGP signature
- Re: [Qemu-devel] [PATCH 09/29] 9pfs: local: llistxattr: don't follow symlinks, (continued)
- [Qemu-devel] [PATCH 10/29] 9pfs: local: lsetxattr: don't follow symlinks, Greg Kurz, 2017/02/20
- [Qemu-devel] [PATCH 11/29] 9pfs: local: lremovexattr: don't follow symlinks, Greg Kurz, 2017/02/20
- [Qemu-devel] [PATCH 12/29] 9pfs: local: unlinkat: don't follow symlinks, Greg Kurz, 2017/02/20
- [Qemu-devel] [PATCH 13/29] 9pfs: local: remove: don't follow symlinks, Greg Kurz, 2017/02/20
- [Qemu-devel] [PATCH 14/29] 9pfs: local: utimensat: don't follow symlinks, Greg Kurz, 2017/02/20
- Re: [Qemu-devel] [PATCH 14/29] 9pfs: local: utimensat: don't follow symlinks,
Stefan Hajnoczi <=
- [Qemu-devel] [PATCH 15/29] 9pfs: local: statfs: don't follow symlinks, Greg Kurz, 2017/02/20
- [Qemu-devel] [PATCH 16/29] 9pfs: local: truncate: don't follow symlinks, Greg Kurz, 2017/02/20
- [Qemu-devel] [PATCH 17/29] 9pfs: local: readlink: don't follow symlinks, Greg Kurz, 2017/02/20
- [Qemu-devel] [PATCH 18/29] 9pfs: local: lstat: don't follow symlinks, Greg Kurz, 2017/02/20
- [Qemu-devel] [PATCH 19/29] 9pfs: local: renameat: don't follow symlinks, Greg Kurz, 2017/02/20