As per upstream advisory: The SMB1/2/3 protocols have a concept of "ChangeNotify", where a client can request file name notification on a directory handle when a condition such as "new file creation" or "file size change" or "file timestamp update" occurs. A missing permissions check on a directory handle requesting ChangeNotify meant that a client with a directory handle open only for FILE_READ_ATTRIBUTES (minimal access rights) could be used to obtain change notify replies from the server. These replies contain information that should not be available to directory handles open for FILE_READ_ATTRIBUTE only.
Acknowledgments: Name: the Samba project Upstream: Steven French (Microsoft and the Samba Team)
External References: https://www.samba.org/samba/security/CVE-2020-14318.html
Mitigation: As Samba internally opens an underlying file system handle on a directory when a client requests an open, even for FILE_READ_ATTRIBUTES then if the underlying file system permissions don't allow "r" (read) access for the connected user, then the handle open request will be denied. "r" access is the normal permission needed to list or otherwise reveal the contents of a directory, so if a connected user has "r" access then they will be able to list the directory contents normally, and the information received by a ChangeNofity request is already available to the user. The security issue occurs if the Administrator or directory owner had set more restrictive Windows ACL permissions on the directory to disallow read access to the user, and this permissions change was not reflected in the underlying file system permissions. This will only occur if Samba is configured with VFS modules to decouple the underlying file system permissions from the Windows ACLs, by setting up a share with the settings: [vulnerable_share] vfs_objects = vfs_acl_xattr acl_xattr:ignore system acls = yes
Created samba tracking bugs for this issue: Affects: fedora-all [bug 1892634]
Upstream patches: samba-4.13.1: https://git.samba.org/?p=samba.git;a=commit;h=22528b76ed6eb6251fdf01875aaa955480e7663d https://git.samba.org/?p=samba.git;a=commit;h=5dd4c789c13035b805fdd2c3a9c38721657b05b3 samba-4.12.9: https://git.samba.org/?p=samba.git;a=commit;h=f100bd2f2e4f047942002a992c99104227a17f81 https://git.samba.org/?p=samba.git;a=commit;h=f43ecce46a89c6380317fbb5f2ae38f48d3d42c8 samba-4.11.15: https://git.samba.org/?p=samba.git;a=commit;h=a5da8919303ea99937c0d3b536f964b7f1addda7 https://git.samba.org/?p=samba.git;a=commit;h=c300a85848350635e7ddd8129b31c4d439dc0f8a
This issue has been addressed in the following products: Red Hat Enterprise Linux 7 Via RHSA-2020:5439 https://access.redhat.com/errata/RHSA-2020:5439
This bug is now closed. Further updates for individual products will be reflected on the CVE page(s): https://access.redhat.com/security/cve/cve-2020-14318
This issue has been addressed in the following products: Red Hat Enterprise Linux 8 Via RHSA-2021:1647 https://access.redhat.com/errata/RHSA-2021:1647
This issue has been addressed in the following products: Red Hat Gluster Storage 3.5 for RHEL 7 Via RHSA-2021:3723 https://access.redhat.com/errata/RHSA-2021:3723