CVE-2022-45061 Denial of service in n/a

High 7.5 Published Updated

A malicious hostname can cause excessive CPU consumption in the Python IDNA decoder, leading to a denial of service on the client.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2022-45061?

CVE-2022-45061 is a high-severity denial of service vulnerability in Fedoraproject Fedora, published on 9 Nov 2022. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official 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.

Weakness: CWE-407

Which versions are affected by CVE-2022-45061?

3 open source packages ship an affected version, including libpython, python and python-min. It affects 9 products.

PackageAffectedFixed in
libpython BitnamiAll versions3.7.16, 3.10.9, 3.11.1, 3.8.16, 3.9.16
python BitnamiAll versions3.7.16, 3.10.9, 3.11.1, 3.8.16, 3.9.16
python-min BitnamiAll versions3.7.16, 3.10.9, 3.11.1, 3.8.16, 3.9.16
Linux distribution packages (37)
babel AlmaLinux:8All versions2.5.1-10.module_el8.6.0+2781+fed64c13
python-nose-docs AlmaLinux:8All versions1.3.7-31.module_el8.6.0+2781+fed64c13
python-psycopg2-doc AlmaLinux:8All versions2.7.5-7.module_el8.6.0+2781+fed64c13
python-psycopg2-doc AlmaLinux:8All versions2.7.5-7.module_el8.6.0+3162+01a09e5a
python-sqlalchemy-doc AlmaLinux:8All versions1.3.2-2.module_el8.6.0+2781+fed64c13
python2 AlmaLinux:8All versions2.7.18-12.module_el8.8.0+3480+108b5990.alma
python2-Cython AlmaLinux:8All versions0.28.1-7.module_el8.6.0+2781+fed64c13
python2-Cython AlmaLinux:8All versions0.28.1-7.module_el8.6.0+3162+01a09e5a
python2-PyMySQL AlmaLinux:8All versions0.8.0-10.module_el8.6.0+2781+fed64c13
python2-attrs AlmaLinux:8All versions17.4.0-10.module_el8.6.0+2781+fed64c13
python2-babel AlmaLinux:8All versions2.5.1-10.module_el8.6.0+2781+fed64c13
python2-backports AlmaLinux:8All versions1.0-16.module_el8.6.0+2781+fed64c13
python2-backports AlmaLinux:8All versions1.0-16.module_el8.6.0+3162+01a09e5a
python2-backports-ssl_match_hostname AlmaLinux:8All versions3.5.0.1-12.module_el8.6.0+2781+fed64c13
python2-bson AlmaLinux:8All versions3.7.0-1.module_el8.6.0+2781+fed64c13
python2-bson AlmaLinux:8All versions3.7.0-1.module_el8.6.0+3162+01a09e5a
python2-chardet AlmaLinux:8All versions3.0.4-10.module_el8.6.0+2781+fed64c13
python2-coverage AlmaLinux:8All versions4.5.1-4.module_el8.6.0+2781+fed64c13
python2-coverage AlmaLinux:8All versions4.5.1-4.module_el8.6.0+3162+01a09e5a
python2-debug AlmaLinux:8All versions2.7.18-12.module_el8.8.0+3480+108b5990.alma
python2-devel AlmaLinux:8All versions2.7.18-12.module_el8.8.0+3480+108b5990.alma
python2-dns AlmaLinux:8All versions1.15.0-10.module_el8.6.0+2781+fed64c13
python2-docs AlmaLinux:8All versions2.7.16-2.module_el8.6.0+2781+fed64c13
python2-docs-info AlmaLinux:8All versions2.7.16-2.module_el8.6.0+2781+fed64c13
python2-docutils AlmaLinux:8All versions0.14-12.module_el8.6.0+2781+fed64c13
python2-funcsigs AlmaLinux:8All versions1.0.2-13.module_el8.6.0+2781+fed64c13
python2-idna AlmaLinux:8All versions2.5-7.module_el8.6.0+2781+fed64c13
python2-ipaddress AlmaLinux:8All versions1.0.18-6.module_el8.6.0+2781+fed64c13
python2-jinja2 AlmaLinux:8All versions2.10-9.module_el8.6.0+2781+fed64c13
python2-libs AlmaLinux:8All versions2.7.18-12.module_el8.8.0+3480+108b5990.alma
python2-lxml AlmaLinux:8All versions4.2.3-6.module_el8.6.0+2781+fed64c13
python2-lxml AlmaLinux:8All versions4.2.3-6.module_el8.6.0+3162+01a09e5a
python2-markupsafe AlmaLinux:8All versions0.23-19.module_el8.6.0+2781+fed64c13
python2-markupsafe AlmaLinux:8All versions0.23-19.module_el8.6.0+3162+01a09e5a
python2-mock AlmaLinux:8All versions2.0.0-13.module_el8.6.0+2781+fed64c13
python2-nose AlmaLinux:8All versions1.3.7-31.module_el8.6.0+2781+fed64c13
python2-numpy AlmaLinux:8All versions1:1.14.2-16.module_el8.6.0+2781+fed64c13

Products include Fedoraproject Fedora, Netapp Active Iq Unified Manager, Netapp Bootstrap Os, Netapp E-Series Performance Analyzer, Netapp Element Software, Netapp Hci and 3 more.

How do I fix CVE-2022-45061?

Upgrade libpython to a fixed version for your release line: 3.7.16, 3.10.9, 3.11.1 or 3.8.16.

Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.

Is CVE-2022-45061 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2022-45061 exists.

All Fedoraproject Fedora vulnerabilities

Sources

Also known as ALPINE-CVE-2022-45061, ALSA-2023:0953, ALSA-2023:2860, AZL-109644, AZL-11439, AZL-83613 and 32 more.

Is CVE-2022-45061 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free