• M
    ovl: verify permissions in ovl_path_open() · acc57dde
    Miklos Szeredi 提交于
    mainline inclusion
    from mainline-v5.8-rc1
    commit 56230d956739b9cb1cbde439d76227d77979a04d
    category: bugfix
    bugzilla: NA
    CVE: CVE-2020-16120
    
    --------------------------------
    
    Check permission before opening a real file.
    
    ovl_path_open() is used by readdir and copy-up routines.
    
    ovl_permission() theoretically already checked copy up permissions, but it
    doesn't hurt to re-do these checks during the actual copy-up.
    
    For directory reading ovl_permission() only checks access to topmost
    underlying layer.  Readdir on a merged directory accesses layers below the
    topmost one as well.  Permission wasn't checked for these layers.
    
    Note: modifying ovl_permission() to perform this check would be far more
    complex and hence more bug prone.  The result is less precise permissions
    returned in access(2).  If this turns out to be an issue, we can revisit
    this bug.
    Signed-off-by: NMiklos Szeredi <mszeredi@redhat.com>
    Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
    Reviewed-by: Nzhangyi (F) <yi.zhang@huawei.com>
    Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
    Signed-off-by: NYu Changchun <yuchangchun1@huawei.com>
    acc57dde
util.c 22.5 KB