diff options
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.patch | 75 |
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, |