5.8 Medium
CVSS2
Access Vector
NETWORK
Access Complexity
MEDIUM
Authentication
NONE
Confidentiality Impact
PARTIAL
Integrity Impact
PARTIAL
Availability Impact
NONE
AV:N/AC:M/Au:N/C:P/I:P/A:N
0.006 Low
EPSS
Percentile
77.6%
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 © subjectAltName field of the
X.509 certificate, which allows man-in-the-middle attackers to spoof SSL
servers via an arbitrary valid certificate.
Author | Note |
---|---|
mdeslaur | This is https://www.python.org/dev/peps/pep-0476/ 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 setups. |
tyhicks | We’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 |
mdeslaur | we 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. |