aboutsummaryrefslogtreecommitdiffstats
path: root/package/network/services/samba36/patches/032-CVE-2017-12150-v3.6.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/network/services/samba36/patches/032-CVE-2017-12150-v3.6.patch')
-rw-r--r--package/network/services/samba36/patches/032-CVE-2017-12150-v3.6.patch75
1 files changed, 75 insertions, 0 deletions
diff --git a/package/network/services/samba36/patches/032-CVE-2017-12150-v3.6.patch b/package/network/services/samba36/patches/032-CVE-2017-12150-v3.6.patch
new file mode 100644
index 0000000000..01589b8a74
--- /dev/null
+++ b/package/network/services/samba36/patches/032-CVE-2017-12150-v3.6.patch
@@ -0,0 +1,75 @@
+From: =?utf-8?q?Guido_G=C3=BCnther?= <agx@sigxcpu.org>
+Date: Wed, 20 Sep 2017 20:01:34 +0200
+Subject: CVE-2017-12150
+
+These are the three upstream patches
+
+ From: Stefan Metzmacher <metze@samba.org>
+ Subject: CVE-2017-12150: s3:lib: get_cmdline_auth_info_signing_state use Required for smb_encrypt
+
+ This is an addition to the fixes for CVE-2015-5296.
+
+ It applies to smb2mount -e, smbcacls -e and smbcquotas -e.
+
+ BUG: https://bugzilla.samba.org/show_bug.cgi?id=12997
+
+
+ From: Stefan Metzmacher <metze@samba.org>
+ Subject: CVE-2017-12150: libgpo: make use of Required for SMB signing in gpo_connect_server()
+
+ It's important that we use a signed connection to get the GPOs!
+
+ BUG: https://bugzilla.samba.org/show_bug.cgi?id=12997
+
+ Signed-off-by: Stefan Metzmacher <metze@samba.org>
+ Backported-by: Andreas Schneider <asn@samba.org>
+
+
+ From: Stefan Metzmacher <metze@samba.org>
+ Subject: CVE-2017-12150: s3:libsmb: only fallback to anonymous if authentication was not requested
+
+ With forced encryption or required signing we should also don't fallback.
+
+ BUG: https://bugzilla.samba.org/show_bug.cgi?id=12997
+
+---
+ libgpo/gpo_fetch.c | 2 +-
+ source3/lib/util_cmdline.c | 3 +++
+ source3/libsmb/clidfs.c | 2 ++
+ 3 files changed, 6 insertions(+), 1 deletion(-)
+
+--- a/libgpo/gpo_fetch.c
++++ b/libgpo/gpo_fetch.c
+@@ -151,7 +151,7 @@ static NTSTATUS gpo_connect_server(ADS_S
+ ads->auth.password,
+ CLI_FULL_CONNECTION_USE_KERBEROS |
+ CLI_FULL_CONNECTION_FALLBACK_AFTER_KERBEROS,
+- Undefined);
++ Required);
+ if (!NT_STATUS_IS_OK(result)) {
+ DEBUG(10,("check_refresh_gpo: "
+ "failed to connect: %s\n",
+--- a/source3/lib/util_cmdline.c
++++ b/source3/lib/util_cmdline.c
+@@ -122,6 +122,9 @@ bool set_cmdline_auth_info_signing_state
+
+ int get_cmdline_auth_info_signing_state(const struct user_auth_info *auth_info)
+ {
++ if (auth_info->smb_encrypt) {
++ return Required;
++ }
+ return auth_info->signing_state;
+ }
+
+--- a/source3/libsmb/clidfs.c
++++ b/source3/libsmb/clidfs.c
+@@ -202,7 +202,9 @@ static struct cli_state *do_connect(TALL
+ /* If a password was not supplied then
+ * try again with a null username. */
+ if (password[0] || !username[0] ||
++ force_encrypt || client_is_signing_mandatory(c) ||
+ get_cmdline_auth_info_use_kerberos(auth_info) ||
++ get_cmdline_auth_info_use_ccache(auth_info) ||
+ !NT_STATUS_IS_OK(cli_session_setup(c, "",
+ "", 0,
+ "", 0,