CVE-2016-0772 json
The smtplib library in CPython (aka Python) before 2.7.12, 3.x before 3.4.5, and 3.5.x before 3.5.2 does not return an error when StartTLS…
published 2016-09-02 10 y ago modified 2026-06-17 4 mo ago also EUVD-2016-0788
- cvss
- 6.5
- version 3.0, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 15.4%
- EPSS 15.4% chance of exploitation in 30 days, percentile 96%
- public exploits
- 1
- Exploit-DB
Summary
The smtplib library in CPython (aka Python) before 2.7.12, 3.x before 3.4.5, and 3.5.x before 3.5.2 does not return an error when StartTLS fails, which might allow man-in-the-middle attackers to bypass the TLS protections by leveraging a network position between the client and the registry to block the StartTLS command, aka a "StartTLS stripping attack."
Patch / fix
- python2.7 Debian 11 2.7.12~rc1-1
debian advisories DEBIAN-CVE-2016-0772
- python2.7 Ubuntu 14.04 LTS 2.7.6-8ubuntu0.3
- python2.7 Ubuntu 16.04 LTS 2.7.12-1ubuntu0~16.04.1
- python3.4 Ubuntu 14.04 LTS 3.4.3-1ubuntu1~14.04.5
- python3.5 Ubuntu 14.04 LTS 3.5.2-2ubuntu0~16.04.4~14.04.1
- python3.5 Ubuntu 16.04 LTS 3.5.2-2ubuntu0~16.04.1
ubuntu advisories UBUNTU-CVE-2016-0772
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- rh-python34-python RHEL 2 SOFTWARE_COLLECTIONS 3.4.2-14.el6
- rh-python34-python RHEL 2 SOFTWARE_COLLECTIONS 3.4.2-13.el7
- rh-python34-python-libs RHEL 2 SOFTWARE_COLLECTIONS 3.4.2-14.el6
- rh-python34-python-libs RHEL 2 SOFTWARE_COLLECTIONS 3.4.2-13.el7
- rh-python34-python-test RHEL 2 SOFTWARE_COLLECTIONS 3.4.2-14.el6
- rh-python34-python-test RHEL 2 SOFTWARE_COLLECTIONS 3.4.2-13.el7
- rh-python34-python-tools RHEL 2 SOFTWARE_COLLECTIONS 3.4.2-14.el6
- rh-python34-python-tools RHEL 2 SOFTWARE_COLLECTIONS 3.4.2-13.el7
red hat advisories RHSA-2016:1630RHSA-2016:1629RHSA-2016:1628RHSA-2016:1627RHSA-2016:1626
- python SLE Module for Python 2 15 SP1, SLE Module for Desktop Applications 15 SP1, SLE Module for Desktop Applications 15 +2 more 2.7.17-7.32.2
- python-base SLE Module for Python 2 15 SP1, SLE Module for Basesystem 15 SP1, SLE Module for Basesystem 15 2.7.17-7.32.1
- python3 SLE Module for Basesystem 15 SP1, SLE Module for Basesystem 15 3.6.10-3.42.2
- python3-base SLE Module for Development Tools 15 SP1, SLE Module for Development Tools 15, SLE Module for Basesystem 15 SP1 +1 more 3.6.10-3.42.2
- python3 SLES for SAP 12 SP2, SLES for Raspberry Pi 12 SP2, SLES 12 SP2 +1 more 3.4.5-19.1
- python3-base SLES for SAP 12 SP2, SLES for Raspberry Pi 12 SP2, SLES 12 SP2 +2 more 3.4.5-19.1
- python3 SLES for SAP 12 SP1, SLES 12 SP1, SLED 12 SP1 +1 more 3.4.5-17.1
- python3-base SLES for SAP 12 SP1, SLES 12 SP1, SLED 12 SP1 +2 more 3.4.5-17.1
suse advisories SUSE-SU-2020:0234-1SUSE-SU-2020:0114-1SUSE-SU-2019:0223-1SUSE-SU-2016:2859-1SUSE-SU-2016:2653-1SUSE-SU-2016:2270-1
- python openSUSE Tumbleweed 2.7.12-1.5
- python-base openSUSE Tumbleweed 2.7.12-1.4
- python36 openSUSE Tumbleweed 3.6.15-1.1
- python3 openSUSE Leap 15.1 3.6.10-lp151.6.7.1
- python3-base openSUSE Leap 15.1 3.6.10-lp151.6.7.1
opensuse advisories openSUSE-SU-2024:10450-1openSUSE-SU-2024:10536-1openSUSE-SU-2024:11284-1openSUSE-SU-2020:0086-1
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2016-0772 updated cvss 4.8
python: smtplib StartTLS stripping attack
-
Red Hat Enterprise Linux 5 pythonaffected: no fix planned “Will not fix”
-
Red Hat Enterprise Linux Client (v. 7) python 2.7.5-38.el7_2, python-libs 2.7.5-38.el7_2 Red Hat Enterprise Linux Client Optional (v. 7) tkinter 2.7.5-38.el7_2, python-test 2.7.5-38.el7_2, python-tools 2.7.5-38.el7_2 Red Hat Enterprise Linux ComputeNode (v. 7) python 2.7.5-38.el7_2, python-libs 2.7.5-38.el7_2 Red Hat Enterprise Linux ComputeNode Optional (v. 7) tkinter 2.7.5-38.el7_2, python-test 2.7.5-38.el7_2, python-tools 2.7.5-38.el7_2 Red Hat Enterprise Linux Desktop (v. 6) python 2.6.6-66.el6_8, tkinter 2.6.6-66.el6_8, python-libs 2.6.6-66.el6_8 Red Hat Enterprise Linux Desktop Optional (v. 6) python-test 2.6.6-66.el6_8, python-tools 2.6.6-66.el6_8fixed: vendor fix RHSA-2016:1626
+10 more productsfewer
Red Hat Enterprise Linux HPC Node (v. 6) python 2.6.6-66.el6_8, python-libs 2.6.6-66.el6_8 Red Hat Enterprise Linux HPC Node Optional (v. 6) tkinter 2.6.6-66.el6_8, python-test 2.6.6-66.el6_8, python-tools 2.6.6-66.el6_8 Red Hat Enterprise Linux Server (v. 6) python 2.6.6-66.el6_8, tkinter 2.6.6-66.el6_8, python-libs 2.6.6-66.el6_8 Red Hat Enterprise Linux Server (v. 7) python 2.7.5-38.el7_2, python-libs 2.7.5-38.el7_2 Red Hat Enterprise Linux Server Optional (v. 6) tkinter 2.6.6-66.el6_8, python-test 2.6.6-66.el6_8, python-tools 2.6.6-66.el6_8 Red Hat Enterprise Linux Server Optional (v. 7) tkinter 2.7.5-38.el7_2, python-test 2.7.5-38.el7_2, python-tools 2.7.5-38.el7_2 Red Hat Enterprise Linux Workstation (v. 6) python 2.6.6-66.el6_8, tkinter 2.6.6-66.el6_8, python-libs 2.6.6-66.el6_8 Red Hat Enterprise Linux Workstation (v. 7) python 2.7.5-38.el7_2, python-libs 2.7.5-38.el7_2 Red Hat Enterprise Linux Workstation Optional (v. 6) python-test 2.6.6-66.el6_8, python-tools 2.6.6-66.el6_8 Red Hat Enterprise Linux Workstation Optional (v. 7) tkinter 2.7.5-38.el7_2, python-test 2.7.5-38.el7_2, python-tools 2.7.5-38.el7_2 -
Red Hat Software Collections for Red Hat Enterprise Linux Server (v. 6) python27-python 2.7.8-18.el6, python33-python 3.3.2-18.el6, python27-tkinter 2.7.8-18.el6, rh-python34-python 3.4.2-14.el6, python27-python-libs 2.7.8-18.el6, python27-python-test 2.7.8-18.el6, +9 more Red Hat Software Collections for Red Hat Enterprise Linux Server (v. 7) python27-python 2.7.8-16.el7, python33-python 3.3.2-16.el7, python27-tkinter 2.7.8-16.el7, rh-python35-python 3.5.1-9.el7, rh-python34-python 3.4.2-13.el7, python27-python-libs 2.7.8-16.el7, +14 more Red Hat Software Collections for Red Hat Enterprise Linux Server EUS (v. 6.6) python27-python 2.7.8-18.el6, python33-python 3.3.2-18.el6, python27-tkinter 2.7.8-18.el6, rh-python34-python 3.4.2-14.el6, python27-python-libs 2.7.8-18.el6, python27-python-test 2.7.8-18.el6, +9 more Red Hat Software Collections for Red Hat Enterprise Linux Server EUS (v. 6.7) python27-python 2.7.8-18.el6, python33-python 3.3.2-18.el6, python27-tkinter 2.7.8-18.el6, rh-python34-python 3.4.2-14.el6, python27-python-libs 2.7.8-18.el6, python27-python-test 2.7.8-18.el6, +9 more Red Hat Software Collections for Red Hat Enterprise Linux Server EUS (v. 7.1) python27-python 2.7.8-16.el7, python33-python 3.3.2-16.el7, python27-tkinter 2.7.8-16.el7, rh-python35-python 3.5.1-9.el7, rh-python34-python 3.4.2-13.el7, python27-python-libs 2.7.8-16.el7, +14 more Red Hat Software Collections for Red Hat Enterprise Linux Server EUS (v. 7.2) python27-python 2.7.8-16.el7, python33-python 3.3.2-16.el7, python27-tkinter 2.7.8-16.el7, rh-python35-python 3.5.1-9.el7, rh-python34-python 3.4.2-13.el7, python27-python-libs 2.7.8-16.el7, +14 morefixed: vendor fix RHSA-2016:1628
+2 more productsfewer
Red Hat Software Collections for Red Hat Enterprise Linux Workstation (v. 6) python27-python 2.7.8-18.el6, python33-python 3.3.2-18.el6, python27-tkinter 2.7.8-18.el6, rh-python34-python 3.4.2-14.el6, python27-python-libs 2.7.8-18.el6, python27-python-test 2.7.8-18.el6, +9 more Red Hat Software Collections for Red Hat Enterprise Linux Workstation (v. 7) python27-python 2.7.8-16.el7, python33-python 3.3.2-16.el7, python27-tkinter 2.7.8-16.el7, rh-python35-python 3.5.1-9.el7, rh-python34-python 3.4.2-13.el7, python27-python-libs 2.7.8-16.el7, +14 more
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
Timeline
- First public exploit (EDB-43500)
- Published
Exploit prediction
15.35% chance of exploitation in the next 30 days, higher than 96% of all scored CVEs (FIRST EPSS, 2026-11-09).
Exploits and checks
- EDB-43500 Python smtplib 2.7.11 / 3.4.4 / 3.5.1 - Man In The Middle StartTLS Stripping local, 2016-07-03
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 3.0 | 6.5 | CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:N |
| NVD | 2.0 | 5.8 | AV:N/AC:M/Au:N/C:P/I:P/A:N |
Classification
- Weakness
-
- CWE-693 Protection Mechanism Failure
References
-
hg.python.org
/cpython/rev/d590114c2394
patch
-
hg.python.org
/cpython/rev/b3ce713fb9be
patch
-
rhn.redhat.com
/errata/RHSA-2016-1630.html
vendor-advisory
-
rhn.redhat.com
/errata/RHSA-2016-1627.html
vendor-advisory
-
rhn.redhat.com
/errata/RHSA-2016-1629.html
vendor-advisory
-
security.gentoo.org
/glsa/201701-18
vendor-advisory
-
rhn.redhat.com
/errata/RHSA-2016-1628.html
vendor-advisory
-
rhn.redhat.com
/errata/RHSA-2016-1626.html
vendor-advisory
-
lists.opensuse.org
/opensuse-security-announce/2020-01/msg00040.html
vendor-advisory
- splunk.com /view/SP-CAAAPUE
- splunk.com /view/SP-CAAAPSV
-
lists.debian.org
/debian-lts-announce/2019/02/msg00011.html
mailing-list
-
bugzilla.redhat.com
/show_bug.cgi?id=1303647
issue-tracking, third-party-advisory
-
docs.python.org
/3.4/whatsnew/changelog.html#python-3-4-5
release-notes
-
openwall.com
/lists/oss-security/2016/06/14/9
mailing-list
-
hg.python.org
/cpython/raw-file/v2.7.12/Misc/NEWS
release-notes
-
docs.python.org
/3.5/whatsnew/changelog.html#python-3-5-2
release-notes
-
securityfocus.com
/bid/91225
vdb-entry
Sources
- CVE List CVE-2016-0772
- NVD CVE-2016-0772
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.