The HTTP clients in the (1) httplib, (2) urllib, (3) urllib2, and (4)
xmlrpclib libraries in CPython (aka Python) 2.x before 2.7.9 and 3.x before
3.4.3, when accessing an HTTPS URL, do not (a) check the certificate
against a trust store or verify that the server hostname matches a domain
name in the subject's (b) Common Name or (c) subjectAltName field of the
X.509 certificate, which allows man-in-the-middle attackers to spoof SSL
servers via an arbitrary valid certificate.
mdeslaurThis is
Before this was implemented in python 2.7.9 and 3.4.3,
applications needed to verify certificate validity themselves.
This is quite a large change to backport into stable releases,
and the change in behaviour most certainly will break certain
tyhicksWe're considering the possibility of offering an opt-in fix for
this issue via PEP 493 if the backport is not too invasive
python3.4 in Ubuntu 14.04 LTS can be configured to perform full
certificate verification via the /etc/python3.4/cert-verification.conf
configuration file
mdeslaurwe will not be fixing this in Ubuntu 14.04 LTS before EoL.
Users are encouraged to migrate to a more recent Ubuntu version,
or migrate their applications to python 3.
Upstream:released (2.7.9-1)
Ubuntu 12.04 ESM (Precise Pangolin):ignored
Ubuntu 14.04 ESM (Trusty Tahr):ignored
Ubuntu 16.04 LTS (Xenial Xerus):not-affected
Ubuntu 18.04 LTS (Bionic Beaver):not-affected
Ubuntu 12.04 ESM (Precise Pangolin):DNE (precise was needed)
Ubuntu 14.04 ESM (Trusty Tahr):DNE
Ubuntu 16.04 LTS (Xenial Xerus):DNE
Ubuntu 18.04 LTS (Bionic Beaver):DNE
Upstream:released (3.4.3)
Ubuntu 12.04 ESM (Precise Pangolin):DNE
Ubuntu 14.04 ESM (Trusty Tahr):released (3.4.3-1ubuntu1~14.04.2)
Ubuntu 16.04 LTS (Xenial Xerus):DNE
Ubuntu 18.04 LTS (Bionic Beaver):DNE
More Information

Updated: 2020-09-10 03:13:26 UTC (commit 81a23a978c4436cd99e1d040e9e73e9146876281)