Bug 41729 - samba: CVE-2016-2119: Client side SMB2 signing downgrade (4.1)
samba: CVE-2016-2119: Client side SMB2 signing downgrade (4.1)
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: Security updates
UCS 4.1
Other Linux
: P3 normal (vote)
: UCS 4.1-2-errata
Assigned To: Arvid Requate
Stefan Gohmann
https://bugzilla.samba.org/show_bug.c...
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2016-07-05 12:22 CEST by Arvid Requate
Modified: 2016-09-21 21:27 CEST (History)
1 user (show)

See Also:
What kind of report is it?: Security Issue
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional): Security
Max CVSS v3 score:
requate: Patch_Available+


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Arvid Requate univentionstaff 2016-07-05 12:22:51 CEST
=====================================================================
== Subject:     Client side SMB2/3 required signing can be downgraded
==
== CVE ID#:     CVE-2016-2119
==
== Versions:    Samba 4.0.0 to 4.4.4
==
== Summary:     A man in the middle attack can disable client signing
==              over SMB2/3, even if enforced by configuration
==              parameters.
==
=====================================================================

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

It's possible for an attacker to downgrade the required signing for
an SMB2/3 client connection, by injecting the SMB2_SESSION_FLAG_IS_GUEST
or SMB2_SESSION_FLAG_IS_NULL flags.

This means that the attacker can impersonate a server being connected to by
Samba, and return malicious results.

The primary concern is with winbindd, as it uses DCERPC over SMB2 when talking
to domain controllers as a member server, and trusted domains as a domain
controller.  These DCE/RPC connections were intended to protected by the
combination of "client ipc signing" and
"client ipc max protocol" in their effective default settings
("mandatory" and "SMB3_11").  

Additionally, management tools like net, samba-tool and rpcclient use DCERPC
over SMB2/3 connections.

By default, other tools in Samba are unprotected, but rarely they are
configured to use smb signing, via the "client signing" parameter (the default
is "if_required").  Even more rarely the "client max protocol" is set to SMB2,
rather than the NT1 default.  

If both these conditions are met, then this issue would also apply to these
other tools, including command line tools like smbcacls, smbcquota, smbclient,
smbget and applications using libsmbclient.

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

A patch addressing this defect has been posted to

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

Additionally, Samba 4.4.5, 4.3.11 and 4.2.14 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.

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

Setting "client ipc max protocol = NT1".

If "client signing" is set to "mandatory"/"required",
remove an explicit setting of "client max protocol", which will default
to "NT1".

These changes should be reverted once the security fixes are applied.

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

This vulnerability was discovered and researched by Stefan Metzmacher of
SerNet (https://samba.plus) and the Samba Team (https://www.samba.org),
he also provides the fixes.
Comment 1 Arvid Requate univentionstaff 2016-07-05 12:24:11 CEST
Under embargo, announcement scheduled for July 7th.
Comment 2 Arvid Requate univentionstaff 2016-07-05 13:09:19 CEST
Samba has been rebuilt with the upstream patch.

Advisory: samba.yaml
Comment 3 Stefan Gohmann univentionstaff 2016-07-08 15:20:03 CEST
YAML: OK (I've reverted r70833, see r70902)

Upgrade: OK

Tests: OK
Comment 4 Janek Walkenhorst univentionstaff 2016-07-11 12:31:11 CEST
<http://errata.software-univention.de/ucs/4.1/210.html>