From 46b32f307c48bcb999b22eebf65ffe8ed5cca544 Mon Sep 17 00:00:00 2001 From: Benjamin Peterson Date: Sat, 11 Jun 2016 13:16:42 -0700 Subject: [PATCH] raise an error when STARTTLS fails --- Lib/smtplib.py | 5 +++++ Misc/NEWS | 3 +++ 2 files changed, 8 insertions(+) diff --git a/Lib/smtplib.py b/Lib/smtplib.py index db23ff0d20d..ac1f5937894 100755 --- a/Lib/smtplib.py +++ b/Lib/smtplib.py @@ -695,6 +695,11 @@ class SMTP: self.ehlo_resp = None self.esmtp_features = {} self.does_esmtp = 0 + else: + # RFC 3207: + # 501 Syntax error (no parameters allowed) + # 454 TLS not available due to temporary reason + raise SMTPResponseException(resp, reply) return (resp, reply) def sendmail(self, from_addr, to_addrs, msg, mail_options=[], diff --git a/Misc/NEWS b/Misc/NEWS index 86ef3d762f8..92e1a809fe6 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -19,6 +19,9 @@ Core and Builtins Library ------- +- Fix TLS stripping vulnerability in smptlib, CVE-2016-0772. Reported by Team + Oststrom + - Issue #25939: On Windows open the cert store readonly in ssl.enum_certificates. - Issue #26012: Don't traverse into symlinks for ** pattern in