• G
    9pfs: local: open/opendir: don't follow symlinks · 996a0d76
    Greg Kurz 提交于
    The local_open() and local_opendir() callbacks are vulnerable to symlink
    attacks because they call:
    
    (1) open(O_NOFOLLOW) which follows symbolic links in all path elements but
        the rightmost one
    (2) opendir() which follows symbolic links in all path elements
    
    This patch converts both callbacks to use new helpers based on
    openat_nofollow() to only open files and directories if they are
    below the virtfs shared folder
    
    This partly fixes CVE-2016-9602.
    Signed-off-by: NGreg Kurz <groug@kaod.org>
    Reviewed-by: NStefan Hajnoczi <stefanha@redhat.com>
    996a0d76
9p-local.h 480 字节