|Description||An issue was discovered in Python before 3.11.1. An unnecessary quadratic algorithm exists in one path when processing some inputs to the IDNA (RFC 3490) decoder, such that a crafted, unreasonably long name being presented to the decoder could lead to a CPU denial of service. Hostnames are often supplied by remote servers that could be controlled by a malicious actor; in such a scenario, they could trigger excessive CPU consumption on the client attempting to make use of an attacker-supplied supposed hostname. For example, the attack payload could be placed in the Location header of an HTTP response with status code 302. A fix is planned in 3.11.1, 3.10.9, 3.9.16, 3.8.16, and 3.7.16.|
|Source||CVE (at NVD; CERT, LWN, oss-sec, fulldisc, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more)|
|References||DLA-3432-1, DLA-3477-1, ELA-853-1, ELA-884-1, ELA-885-1|
Vulnerable and fixed packages
The table below lists information on source packages.
|python2.7 (PTS)||jessie, jessie (lts)||2.7.9-2-ds1-1+deb8u11||fixed|
|stretch (lts), stretch||2.7.13-2+deb9u8||fixed|
|python3.4 (PTS)||jessie, jessie (lts)||3.4.2-1+deb8u15||fixed|
|python3.5 (PTS)||stretch (security)||3.5.3-1+deb9u5||vulnerable|
|stretch (lts), stretch||3.5.3-1+deb9u7||fixed|
The information below is based on the following data on fixed versions.
[bullseye] - python3.9 <no-dsa> (Minor issue)
[bullseye] - python2.7 <ignored> (Unsupported in Bullseye, only included to build a few applications)