CVE-2016-2114.html:

==============================================================
== Subject:     "server signing = mandatory" not enforced
==
== CVE ID#:     CVE-2016-2114
==
== Versions:    Samba 4.0.0 to 4.4.0
==
== Summary:     Due to a bug Samba doesn't enforce required
==              smb signing, even if explicitly configured. In
==              addition the default for the active directory
==              domain controller case was wrong.
==
==============================================================

===========
Description
===========

Due to a regression introduced in Samba 4.0.0,
an explicit "server signing = mandatory" in the [global] section
of the smb.conf was not enforced for clients using the SMB1 protocol.

As a result it does not enforce smb signing and allows man in the middle attacks.

This problem applies to all possible server roles:
standalone server, member server, classic primary domain controller,
classic backup domain controller and active directory domain controller.

In addition, when Samba is configured with "server role = active directory domain controller"
the effective default for the "server signing" option should be "mandatory".

During the early development of Samba 4 we had a new experimental
file server located under source4/smb_server. But before
the final 4.0.0 release we switched back to the file server
under source3/smbd.

But the logic for the correct default of "server signing" was not
ported correctly ported.

Note that the default for server roles other than active directory domain
controller, is "off" because of performance reasons.

==================
Patch Availability
==================

A patch addressing this defect has been posted to

  https://www.samba.org/samba/security/

Additionally, Samba 4.4.2, 4.3.8 and 4.2.11 have been issued as
security releases to correct the defect. Samba vendors and administrators
running affected versions are advised to upgrade or apply the patch as
soon as possible.

Note that Samba 4.4.1, 4.3.7 and 4.2.10 were privately released to vendors,
but had a regression, which is fixed in 4.4.2, 4.3.8 and 4.2.11.

==========
Workaround
==========

An explicit "server signing = mandatory" in the [global]
together with "server min protocol = SMB2", should prevent
connections without signing protection. But that means
older clients without support for SMB2 (or higher) might
become unable to connect.

=======
Credits
=======

This vulnerability was discovered and researched by Stefan Metzmacher of
SerNet (https://samba.plus) and the Samba Team (https://www.samba.org).
He provides the fixes in collaboration with the Samba Team.