]> git.ipfire.org Git - thirdparty/qemu.git/commit
9pfs: local: truncate: don't follow symlinks
authorGreg Kurz <groug@kaod.org>
Sun, 26 Feb 2017 22:43:32 +0000 (23:43 +0100)
committerGreg Kurz <groug@kaod.org>
Tue, 28 Feb 2017 10:21:15 +0000 (11:21 +0100)
commitac125d993b461d4dee4d6df4d93ac3f2eb959d1d
tree09c9cf74e1afda864a5c387c5ff109a0a34b1527
parent31e51d1c15b35dc98b88a301812914b70a2b55dc
9pfs: local: truncate: don't follow symlinks

The local_truncate() callback is vulnerable to symlink attacks because
it calls truncate() which follows symbolic links in all path elements.

This patch converts local_truncate() to rely on open_nofollow() and
ftruncate() instead.

This partly fixes CVE-2016-9602.

Signed-off-by: Greg Kurz <groug@kaod.org>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
hw/9pfs/9p-local.c