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.
| Software | From | Fixed in |
|---|---|---|
| python / python | 2.7.6 | 2.7.6.x |
| python / python | 2.4.2 | 2.4.2.x |
| python / python | 3.3.5 | 3.3.5.x |
| python / python | 3.1 | 3.1.x |
| python / python | 3.3.3-rc2 | 3.3.3-rc2.x |
| python / python | 3.1.1 | 3.1.1.x |
| python / python | 3.3.2 | 3.3.2.x |
| python / python | 2.7.8 | 2.7.8.x |
| python / python | 2.5.1 | 2.5.1.x |
| python / python | 2.3.4 | 2.3.4.x |
| python / python | 3.0 | 3.0.x |
| python / python | 3.3.1-rc1 | 3.3.1-rc1.x |
| python / python | 2.6.6 | 2.6.6.x |
| python / python | 3.0.1 | 3.0.1.x |
| python / python | 2.1 | 2.1.x |
| python / python | 2.0.1 | 2.0.1.x |
| python / python | 3.2.2 | 3.2.2.x |
| python / python | 2.7.1150 | 2.7.1150.x |
| python / python | 3.3 | 3.3.x |
| python / python | 2.6.1 | 2.6.1.x |
| python / python | 2.3.1 | 2.3.1.x |
| python / python | 3.2.5 | 3.2.5.x |
| python / python | 2.1.2 | 2.1.2.x |
| python / python | 3.1.5 | 3.1.5.x |
| python / python | 3.2.2150 | 3.2.2150.x |
| python / python | 3.3.4-rc1 | 3.3.4-rc1.x |
| python / python | 2.7.4 | 2.7.4.x |
| python / python | 2.2.1 | 2.2.1.x |
| python / python | 3.4.0 | 3.4.0.x |
| python / python | 3.2.1 | 3.2.1.x |
| python / python | 2.5.4 | 2.5.4.x |
| python / python | 3.2.0 | 3.2.0.x |
| python / python | 3.3.1 | 3.3.1.x |
| python / python | 2.6.3 | 2.6.3.x |
| python / python | 2.2.2 | 2.2.2.x |
| python / python | 2.1.1 | 2.1.1.x |
| python / python | 3.3.3-rc1 | 3.3.3-rc1.x |
| python / python | 2.6.2150 | 2.6.2150.x |
| python / python | 2.3.3 | 2.3.3.x |
| python / python | 2.7.1 | 2.7.1.x |
| python / python | 3.1.2150 | 3.1.2150.x |
| python / python | 2.3.2 | 2.3.2.x |
| python / python | 3.1.2 | 3.1.2.x |
| python / python | 2.6.8 | 2.6.8.x |
| python / python | 2.6.7 | 2.6.7.x |
| python / python | 2.4.6 | 2.4.6.x |
| python / python | 2.7.3 | 2.7.3.x |
| python / python | 2.7.1-rc1 | 2.7.1-rc1.x |
| python / python | 2.0 | 2.0.x |
| python / python | 2.2.3 | 2.2.3.x |
| python / python | 3.3.4 | 3.3.4.x |
| python / python | 2.5.2 | 2.5.2.x |
| python / python | 2.3.7 | 2.3.7.x |
| python / python | 3.3.6-rc1 | 3.3.6-rc1.x |
| python / python | 3.2.3 | 3.2.3.x |
| python / python | 2.6.4 | 2.6.4.x |
| python / python | 3.3.5-rc2 | 3.3.5-rc2.x |
| python / python | 2.7.2-rc1 | 2.7.2-rc1.x |
| python / python | 2.6.6150 | 2.6.6150.x |
| python / python | 2.7.7 | 2.7.7.x |
| python / python | 3.3.5-rc1 | 3.3.5-rc1.x |
| python / python | 2.5.3 | 2.5.3.x |
| python / python | 3.2.6 | 3.2.6.x |
| python / python | 3.2 | 3.2.x |
| python / python | 2.7.5 | 2.7.5.x |
| python / python | 2.4.4 | 2.4.4.x |
| python / python | 3.3.0 | 3.3.0.x |
| python / python | 2.5.150 | 2.5.150.x |
| python / python | 2.2 | 2.2.x |
| python / python | 3.4.2 | 3.4.2.x |
| python / python | 2.6.2 | 2.6.2.x |
| python / python | 2.5.6 | 2.5.6.x |
| python / python | 3.3.3 | 3.3.3.x |
| python / python | 2.3.5 | 2.3.5.x |
| python / python | 3.4-alpha1 | 3.4-alpha1.x |
| python / python | 3.2.4 | 3.2.4.x |
| python / python | 2.7.2150 | 2.7.2150.x |
| python / python | 2.1.3 | 2.1.3.x |
| python / python | 3.4.1 | 3.4.1.x |
| python / python | 3.2-alpha | 3.2-alpha.x |
| python / python | 2.4.1 | 2.4.1.x |
| python / python | 2.4.3 | 2.4.3.x |
| python / python | 3.3-beta2 | 3.3-beta2.x |
| python / python | 2.6.5 | 2.6.5.x |
| python / python | 3.1.3 | 3.1.3.x |
| python / python | 3.1.4 | 3.1.4.x |
| apple / mac_os_x | - | 10.10.4.x |