== Subject:     Missing handle permissions check in SMB1/2/3
==              ChangeNotify.
== CVE ID#:     CVE-2020-14318
== Versions:    All versions of Samba since Samba 3.6.0
== Summary:     Systems where Windows ACL permissions are
==              more restrictive than native filesystem
==              permissions can be made to leak file name
==              information to unprivileged accounts.


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

Patch Availability

Patches addressing both these issues have been posted to:

Additionally, Samba 4.11.15, 4.12.9 and 4.13.1 have been issued as
security releases to correct the defect. Samba administrators are
advised to upgrade to these releases or apply the patch as soon as

CVSSv3 calculation


base score of 4.3 - medium.

Workaround and mitigating factors

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:

        vfs_objects = vfs_acl_xattr
        acl_xattr:ignore system acls = yes


Reported by Steven French of Microsoft and the Samba Team.
Advisory written by Jeremy Allison of Google and the Samba Team.
Patches provided by Jeremy Allison of Google and the Samba Team.

== Our Code, Our Bugs, Our Responsibility.
== The Samba Team