Skip to content
  • Greg Kurz's avatar
    996a0d76
    9pfs: local: open/opendir: don't follow symlinks · 996a0d76
    Greg Kurz authored
    
    
    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: default avatarGreg Kurz <groug@kaod.org>
    Reviewed-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
    996a0d76
    9pfs: local: open/opendir: don't follow symlinks
    Greg Kurz authored
    
    
    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: default avatarGreg Kurz <groug@kaod.org>
    Reviewed-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
Loading