Skip to content
Fencer Intel
medium 6.5

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 python
    affected: 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_8
    +10 more products
    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
    fixed: vendor fix RHSA-2016:1626
  • 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 more
    +2 more products
    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
    fixed: vendor fix RHSA-2016:1628

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

  1. First public exploit (EDB-43500)
  2. 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

Sources

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.