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.
| Software | From | Fixed in |
|---|---|---|
| python / python | 3.11.0-alpha2 | 3.11.0-alpha2.x |
| python / python | 3.11.0-alpha3 | 3.11.0-alpha3.x |
| python / python | 3.11.0-alpha4 | 3.11.0-alpha4.x |
| python / python | 3.11.0-alpha5 | 3.11.0-alpha5.x |
| python / python | 3.11.0-alpha6 | 3.11.0-alpha6.x |
| python / python | 3.11.0-alpha1 | 3.11.0-alpha1.x |
| python / python | 3.11.0-beta2 | 3.11.0-beta2.x |
| python / python | 3.11.0-beta3 | 3.11.0-beta3.x |
| python / python | 3.11.0-beta4 | 3.11.0-beta4.x |
| python / python | 3.11.0-beta5 | 3.11.0-beta5.x |
| python / python | 3.11.0-rc1 | 3.11.0-rc1.x |
| python / python | 3.11.0-alpha7 | 3.11.0-alpha7.x |
| python / python | 3.11.0-beta1 | 3.11.0-beta1.x |
| python / python | 3.11.0 | 3.11.0.x |
| python / python | - | 3.7.15.x |
| python / python | 3.11.0-rc2 | 3.11.0-rc2.x |
| python / python | 3.8.0 | 3.8.15.x |
| python / python | 3.9.0 | 3.9.15.x |
| python / python | 3.10.0 | 3.10.8.x |
| fedoraproject / fedora | 36 | 36.x |
| fedoraproject / fedora | 37 | 37.x |
| fedoraproject / fedora | 35 | 35.x |