Python Security Vulnerabilities

Warning

This resource is maintained for historical reference and does not contain the latest vulnerability info for Python.

The canonical database for vulnerabilities affecting Python is available on GitHub in the Open Source Vulnerability (OSV) format. This database can be viewed online at the Open Source Vulnerability Database.

Status of Python branches lists Python branches which get security fixes.

Total: 95 vulnerabilities.

Vulnerability

Disclosure

Fixed In

Vulnerable

CVE

Parsing errors in email/_parseaddr.py lead to incorrect value in email address part of tuple

2023-03-24

3.10
3.7
3.8
3.9

CVE-2023-27043

urlparse does not correctly handle schemes

2022-11-12

3.11.1

3.10
3.7
3.8
3.9

CVE-2023-24329

Buffer overflow in the _sha3 module in Python 3.10 and older

2022-10-21

3.7.16
3.8.16
3.9.16
3.10.9

CVE-2022-37454

Slow IDNA decoding with large strings

2022-10-19

3.7.16
3.8.16
3.9.16
3.10.9
3.11.1

CVE-2022-45061

Linux specific local privilege escalation via the multiprocessing forkserver start method

2022-09-23

3.9.16
3.10.9
3.11.0

CVE-2022-42919

Prevent DoS by large str-int conversions

2022-08-08

3.7.14
3.8.14
3.9.14
3.10.7
3.11.0

CVE-2020-10735

Windows: vulnerable zlib 1.2.11

2022-04-01

3.7.14
3.8.14
3.9.13
3.10.5

CVE-2018-25032

Windows: vulnerable bzip2 1.0.6

2021-07-02

3.7.13
3.8.13
3.9.11
3.10.3

CVE-2016-3189
CVE-2019-12900

CVE-2013-0340 Billion Laughs fixed in Expat 2.4.0

2021-06-11

3.6.15
3.7.12
3.8.12
3.9.7
3.10.0

CVE-2013-0340

CVE-2021-3737: urllib HTTP client possible infinite loop on a 100 Continue response

2021-05-03

3.6.14
3.7.11
3.8.11
3.9.6
3.10.0

CVE-2021-3737

urllib.parse should sanitize urls containing ASCII newline and tabs.

2021-04-18

3.6.14
3.7.11
3.8.11
3.9.5
3.10.0

CVE-2022-0391

ipaddress leading zeros in IPv4 address

2021-03-30

3.8.12
3.9.5
3.10.0

CVE-2021-29921

ftplib should not use the host from the PASV response

2021-02-21

3.6.14
3.7.11
3.8.9
3.9.3
3.10.0

http.server: Open Redirection if the URL path starts with //

2021-02-14

3.7.14
3.8.14
3.9.14
3.10.6
3.11.0

CVE-2021-28861

CVE-2021-3733: ReDoS in urllib.request

2021-01-30

3.6.14
3.7.11
3.8.10
3.9.5
3.10.0

CVE-2021-3733

Information disclosure via pydoc getfile

2021-01-21

3.6.14
3.7.11
3.8.9
3.9.3
3.10.0

CVE-2021-3426

urllib parse_qsl(): Web cache poisoning - semicolon as a query args separator

2021-01-19

3.6.13
3.7.10
3.8.8
3.9.2
3.10.0

CVE-2021-23336

ctypes: Buffer overflow in PyCArg_repr

2021-01-16

3.6.13
3.7.10
3.8.8
3.9.2
3.10.0

CVE-2021-3177

CJK codecs tests call eval() on content retrieved via HTTP

2020-10-05

3.6.13
3.7.10
3.8.7
3.9.1
3.10.0

CVE-2020-27619

[CVE-2020-14422] Hash collisions in IPv4Interface and IPv6Interface

2020-06-17

3.5.10
3.6.12
3.7.9
3.8.4
3.9.0

CVE-2020-14422

http.client: HTTP Header Injection in the HTTP method

2020-02-10

3.5.10
3.6.12
3.7.9
3.8.5
3.9.0

CVE-2020-26116

CVE-2020-8315: Unsafe DLL loading in getpathp.c on Windows 7

2020-01-21

3.6.11
3.7.7
3.8.2
3.9.0

CVE-2020-8315

Email header injection in Address objects

2019-12-17

3.5.10
3.6.11
3.7.8
3.8.4
3.9.0

Infinite loop in tarfile module while opening a crafted file

2019-12-10

3.5.10
3.6.12
3.7.9
3.8.5
3.9.0

CVE-2019-20907

Remove newline characters from uu encoding methods

2019-11-30

2.7.18
3.5.10
3.6.10
3.7.6
3.8.1
3.9.0

urllib basic auth regex denial of service

2019-11-17

3.5.10
3.6.11
3.7.8
3.8.3
3.9.0

CVE-2020-8492

Regular Expression Denial of Service in http.cookiejar

2019-11-14

2.7.18
3.5.10
3.6.10
3.7.6
3.8.1
3.9.0

CVE-2019-18348: CRLF injection via the host part of the url passed to urlopen()

2019-10-24

2.7.18
3.5.10
3.6.11
3.7.8
3.8.3
3.9.0

CVE-2019-18348

Reflected XSS in DocXMLRPCServer

2019-09-21

2.7.17
3.5.8
3.6.10
3.7.5
3.8.0

CVE-2019-16935

ssl.match_hostname() ignores extra string after whitespace in IPv4 address

2019-07-01

3.7.4
3.8.0

urlsplit does not handle NFKC normalization (second fix)

2019-04-27

2.7.17
3.5.8
3.6.9
3.7.4
3.8.0

CVE-2019-10160

urlsplit does not handle NFKC normalization

2019-03-06

2.7.17
3.5.7
3.6.9
3.7.3
3.8.0

CVE-2019-9636

urllib module local_file:// scheme

2019-02-06

2.7.17
3.5.8
3.6.9
3.7.4
3.8.0

CVE-2019-9948

TALOS-2018-0758 SSL CRL distribution points Denial of Service

2019-01-15

2.7.16
3.4.10
3.5.7
3.6.9
3.7.3
3.8.0

CVE-2019-5010

http.cookiejar: Incorrect validation of path

2019-01-03

2.7.17
3.4.10
3.5.7
3.6.9
3.7.3
3.8.0

xml package does not obey ignore_environment

2018-09-24

2.7.16
3.4.10
3.5.7
3.6.8
3.7.2
3.8.0

pickle.load denial of service

2018-09-13

3.4.10
3.5.7
3.6.7
3.7.1
3.8.0

CVE-2018-20406

_elementree C accelerator doesn’t call XML_SetHashSalt()

2018-09-10

2.7.16
3.4.10
3.5.7
3.6.7
3.7.1
3.8.0

CVE-2018-14647

email.utils.parseaddr mistakenly parse an email

2018-07-19

2.7.17
3.5.8
3.6.10
3.7.5
3.8.0

CVE-2019-16056

Email folding function Denial-of-Service

2018-05-16

3.6.9
3.7.4
3.8.0

Buffer overflow vulnerability in os.symlink on Windows

2018-03-05

3.4.9
3.5.6
3.6.5
3.7.0

CVE-2018-1000117

difflib and poplib catastrophic backtracking

2018-03-02

2.7.15
3.4.9
3.5.6
3.6.5
3.7.0

CVE-2018-1060
CVE-2018-1061

Python 2.7 readahead is not thread safe

2017-09-20

2.7.15

CVE-2018-1000030

Expat 2.2.3

2017-07-17

2.7.14
3.3.7
3.4.8
3.5.5
3.6.3
3.7.0

Environment variables injection in subprocess on Windows

2017-06-22

2.7.14
3.3.7
3.4.7
3.5.4
3.6.2
3.7.0

Expat 2.2.1

2017-06-17

2.7.14
3.3.7
3.4.7
3.5.4
3.6.2
3.7.0

CVE-2012-0876
CVE-2016-0718
CVE-2016-9063
CVE-2017-9233

PyString_DecodeEscape integer overflow

2017-06-13

2.7.14
3.4.8
3.5.5

CVE-2017-1000158

bpo-30500: urllib connects to a wrong host

2017-05-29

2.7.14
3.3.7
3.4.7
3.5.4
3.6.2
3.7.0

HTTP Header Injection (follow-up of CVE-2016-5699)

2017-05-24

2.7.17
3.5.8
3.6.9
3.7.4
3.8.0

CVE-2019-9740
CVE-2019-9947

Py_SetPath(): _Py_CheckPython3 uses uninitialized DLL path

2017-03-10

3.5.10
3.6.12
3.7.9
3.8.4
3.9.0

CVE-2020-15523

urllib FTP protocol stream injection

2017-02-20

2.7.14
3.3.7
3.4.7
3.5.4
3.6.3
3.7.0

Expat 2.2 (Expat bug #537)

2017-02-17

2.7.14
3.3.7
3.4.7
3.5.4
3.6.2
3.7.0

CVE-2016-0718
CVE-2016-4472

Zlib 1.2.11

2017-01-05

2.7.14
3.4.8
3.5.4
3.6.1
3.7.0

CVE-2016-9840
CVE-2016-9841
CVE-2016-9842
CVE-2016-9843

gettext.c2py()

2016-10-30

2.7.13
3.3.7
3.4.6
3.5.3
3.6.0

Sweet32 attack (DES, 3DES)

2016-08-24

2.7.13
3.4.7
3.5.3
3.6.0

CVE-2016-2183

HTTPoxy attack

2016-07-18

2.7.13
3.3.7
3.4.6
3.5.3
3.6.0

CVE-2016-1000110

smtplib TLS stripping

2016-06-11

2.7.12
3.3.7
3.4.5
3.5.2
3.6.0

CVE-2016-0772

Issue #26657: HTTP server directory traversal

2016-03-28

2.7.12
3.3.7
3.4.7
3.5.2
3.6.0

Issue #26556: Expat 2.1.1

2016-03-14

2.7.12
3.3.7
3.4.5
3.5.2
3.6.0

CVE-2015-1283

zipimporter overflow

2016-01-21

2.7.12
3.3.7
3.4.5
3.5.2
3.6.0

CVE-2016-5636

mailcap shell command injection

2015-08-02

3.7.16
3.8.16
3.9.16
3.10.8
3.11.0

CVE-2015-20107

HTTP header injection

2014-11-24

2.7.10
3.3.7
3.4.4
3.5.0

CVE-2016-5699

Validate TLS certificate

2014-08-28

2.7.9
3.4.3
3.5.0

CVE-2014-9365

buffer() integer overflows

2014-06-24

2.7.8

CVE-2014-7185

JSONDecoder.raw_decode

2014-04-13

2.7.7
3.2.6
3.3.6
3.4.1
3.5.0

CVE-2014-4616

os.makedirs() not thread-safe

2014-03-28

3.2.6
3.3.6
3.4.1
3.5.0

CVE-2014-2667

socket.recvfrom_into() overflow

2014-01-14

2.7.7
3.2.6
3.3.4
3.4.0

CVE-2014-1912

zipfile DoS using invalid file size

2013-12-27

3.3.4
3.4.0

CVE-2013-7338

CGI directory traversal (URL parsing)

2013-10-29

2.7.6
3.2.6
3.3.4
3.4.0

ssl: NULL in subjectAltNames

2013-06-27

2.6.9
2.7.6
3.2.6
3.3.3
3.4.0

CVE-2013-4238

ssl.match_hostname() IDNA issue

2013-05-17

3.3.3
3.4.0

CVE-2013-7440

ssl.match_hostname() wildcard DoS

2013-05-15

3.2.6
3.3.3
3.4.0

CVE-2013-2099

Limit imaplib.IMAP4_SSL.readline()

2012-09-25

2.7.16

CVE-2013-1752

ftplib unlimited read

2012-09-25

2.7.6
3.2.6
3.3.3
3.4.0

CVE-2013-1752

nntplib unlimited read

2012-09-25

2.6.9
2.7.6
3.2.6
3.3.7
3.4.3
3.5.0

CVE-2013-1752

poplib unlimited read

2012-09-25

2.7.9
3.2.6
3.3.7
3.4.3
3.5.0

CVE-2013-1752

smtplib unlimited read

2012-09-25

2.7.9
3.2.6
3.3.7
3.4.3
3.5.0

CVE-2013-1752

xmlrpc gzip unlimited read

2012-09-25

2.7.9
3.3.7
3.4.3
3.5.0

CVE-2013-1753

Hash function not randomized properly

2012-04-19

3.4.0

CVE-2013-7040

Vulnerability in the utf-16 decoder after error handling

2012-04-14

2.7.4
3.2.4
3.3.0

CVE-2012-2135

XML-RPC DoS

2012-02-13

2.6.8
2.7.3
3.1.5
3.2.3
3.3.0

CVE-2012-0845

ssl CBC IV attack

2012-01-27

2.6.8
2.7.3
3.1.5
3.2.3
3.3.0

CVE-2011-3389

Hash DoS

2011-12-28

2.6.8
2.7.3
3.1.5
3.2.3
3.3.0

CVE-2012-1150

pypirc created insecurely

2011-11-30

2.7.4
3.2.4
3.3.1
3.4.0

CVE-2011-4944

urllib redirect

2011-03-24

2.5.6
2.6.7
2.7.2
3.1.4
3.2.1
3.3.0

CVE-2011-1521

SimpleHTTPServer UTF-7

2011-03-08

2.5.6
2.6.7
2.7.2
3.2.4
3.3.1
3.4.0

CVE-2011-4940

audioop integer overflows

2010-05-10

2.6.6
2.7.0
3.1.3
3.2.0

CVE-2010-1634

audioop input validation

2010-01-11

2.6.6
2.7.2
3.1.3
3.2.0

CVE-2010-2089

httplib unlimited read

2009-08-28

2.7.2
3.1.4
3.2.0

CVE-2013-1752

smtpd accept bug and race condition

2009-08-14

2.7.1
3.1.3
3.2.0

CVE-2010-3492
CVE-2010-3493

Multiple integer overflows (Apple)

2008-07-31

2.6.0
3.0.0

CVE-2008-1679
CVE-2008-1721
CVE-2008-1887
CVE-2008-2315
CVE-2008-2316
CVE-2008-3142
CVE-2008-3144
CVE-2008-4864

Multiple integer overflows (Google)

2008-04-11

2.5.3
2.6.0
3.0.0

CVE-2008-3143

expandtab() integer overflow

2008-03-11

2.5.3
2.6.0
3.0.0

CVE-2008-5031

CGI directory traversal (is_cgi() function)

2008-03-07

2.7.0
3.2.4
3.3.1
3.4.0

CVE-2011-1015

rgbimg and imageop overflows

2007-09-16

2.5.3
2.6.0

CVE-2007-4965
CVE-2009-4134
CVE-2010-1449
CVE-2010-1450

Table of Contents: