{"id":"PSF-2022-10","summary":"Slow IDNA decoding with large strings","details":"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.","aliases":["BIT-libpython-2022-45061","BIT-python-2022-45061","BIT-python-min-2022-45061","CVE-2022-45061"],"modified":"2026-05-18T05:46:37.317503508Z","published":"2022-11-09T00:00:00Z","database_specific":{"cwe_ids":[]},"references":[{"type":"REPORT","url":"https://github.com/python/cpython/issues/98433"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/python/cpython","events":[{"introduced":"0"},{"fixed":"82ca2839c9ec6bf9a9400e791a52411824df67f3"},{"fixed":"9bb8e18ca46fe66fa6802602f8a7228a24dd785f"},{"fixed":"a6f6c3a3d6f2b580f2d87885c9b8a9350ad7bf15"},{"fixed":"b0b590be9597fd5919228d251812dd54145f70a7"},{"fixed":"c09dba57cfbbf74273ce44b1f48f71b46806605c"}]}],"versions":["v3.11.0rc2","v3.8.15","v3.10.8","v3.9.15","v3.7.15","v3.7.14","v3.8.14","v3.9.14","v3.10.7","v3.11.0rc1","v3.10.6","v3.11.0b5","v3.11.0b4","v3.10.5","v3.11.0b3","v3.11.0b2","v3.9.13","v3.11.0b1","v3.11.0a7","v3.10.4","v3.9.12","v3.7.13","v3.9.11","v3.10.3","v3.8.13","v3.11.0a6","v3.11.0a5","v3.11.0a4","v3.10.2","v3.11.0a3","v3.10.1","v3.9.9","v3.9.8","v3.10.0rc2","v3.7.12","v3.9.7","v3.8.12","v3.10.0rc1","v3.10.0b4","v3.7.11","v3.8.11","v3.9.6","v3.10.0b3","v3.10.0b2","v3.10.0b1","v3.9.5","v3.10.0a7","v3.9.2","v3.8.8","v3.9.2rc1","v3.8.8rc1","v3.7.10","v3.10.0a1","v3.7.9","v3.9.0b5","v3.8.5","v3.7.8","v3.7.8rc1","v3.9.0b3","v3.9.0b1","v3.8.3","v3.8.3rc1","v3.7.7rc1","v3.9.0a2","v3.7.6rc1","v3.8.0rc1","v3.7.3rc1","v3.7.2rc1","v3.7.0rc1","v3.7.0b5","v3.7.0b4","v3.7.0b3","v3.7.0b2","v3.7.0b1","v3.7.0a2","v3.6.0b1","v3.6.0a3","v3.5.0b1","v3.5.0a4","v3.5.0a3","v3.5.0a2","v3.5.0a1","v3.4.0b3","v3.4.0b2","v3.4.0b1","v3.4.0a4","v3.4.0a3","v3.4.0a2","v3.4.0a1","v3.3.0rc3","v3.3.0rc2","v3.3.0rc1","v3.3.0b2","v3.3.0b1","v3.3.0a4","v3.3.0a3","v3.3.0a2","v3.2rc3","v3.2rc2","v3.2rc1","v3.2b2","v3.2b1","v3.2a4","v3.2a3","v3.2a2","v3.2a1","v3.1","v3.1rc2","v3.1rc1","v3.1b1","v3.1a2","v3.1a1","v3.0rc3","v3.0rc2","v3.0rc1","v3.0b3","v3.0b2","v3.0b1","v3.0a5","v3.0a4","v3.0a3","v3.0a2","v3.0a1","v2.4","v2.4c1","v2.4b2","v2.4b1","v2.4a3","v2.4a2","v2.4a1","v2.3c2","v2.3c1","v2.2a3","v2.1","v2.1c2","v2.1c1","v2.1b2","v2.1b1","v2.1a2","v2.1a1","v2.0","v2.0c1","v2.0b2","v2.0b1","v1.6a2","v1.6a1","v1.5.2","v1.5.2c1","v1.5.2b2","v1.5.2b1","v1.5.2a2","v1.5.2a1","v1.5.1","v1.5","v1.5b2","v1.5b1","v1.5a4","v1.5a3","v1.5a2","v1.5a1","v1.4","v1.4b3","v1.4b2","v1.4b1","v1.3","v1.3b1","v1.2","v1.2b4","v1.2b3","v1.2b2","v1.2b1","v1.1.1","v1.1","v1.0.2","v1.0.1","v0.9.9","v0.9.8"],"database_specific":{"source":"https://github.com/psf/advisory-database/blob/main/advisories/python/PSF-2022-10.json"}}],"schema_version":"1.7.5"}