== Subject:     Authenticated users can change other users' password
== CVE ID#:     CVE-2018-1057
== Versions:    All versions of Samba from 4.0.0 onwards.
== Summary:     On a Samba 4 AD DC any authenticated user can change
==              other users' passwords over LDAP, including the
==              passwords of administrative users and service
==		accounts.


On a Samba 4 AD DC the LDAP server in all versions of Samba from
4.0.0 onwards incorrectly validates permissions to modify passwords
over LDAP allowing authenticated users to change any other users'
passwords, including administrative users and privileged service
accounts (eg Domain Controllers).

The LDAP server incorrectly validates certain LDAP password
modifications against the "Change Password" privilege, but then
performs a password reset operation.

The change password right in AD is an extended object access right
with the GUID ab721a53-1e2f-11d0-9819-00aa0040529b.

By default user objects grant the change password right to the
authenticated user's own user object (self) and to everyone
(world). Computer objects grant the change password right to

The corresponding ACEs expressed in SDDL are

self:  (OA;;CR;ab721a53-1e2f-11d0-9819-00aa0040529b;;PS)
world: (OA;;CR;ab721a53-1e2f-11d0-9819-00aa0040529b;;WD)

The components of these ACEs are

OA: object access allowed
CR: extended rights
PS: trustee: self
WD: trustee: world/everyone

The problematic ACE is the one for world/everyone.

The Windows GUI shows this as "Change password" right granted to


Possible workarounds are described at a dedicated page in the Samba wiki:

Patch Availability

A patch addressing this defect has been posted to

Additionally, Samba 4.7.6, 4.6.14 and 4.5.16 have been issued as
security releases to correct the defect. Patches against older Samba
versions may be available at Samba
vendors and administrators running affected versions are advised to
upgrade or apply the patch as soon as possible.


This problem was found by Björn Baumbach from SerNet. Ralph Böhme and
Stefan Metzmacher from SerNet and the Samba Team provided the fix.