CVE-2024-6232 Regular-expression DoS when parsing TarFile headers

High 7.5 Published Updated

Attackers can cause denial of service in applications using Python's tarfile module by providing crafted tar archives that trigger excessive regex backtracking.

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

What is CVE-2024-6232?

CVE-2024-6232 is a high-severity denial of service vulnerability in Python Python, published on 3 Sep 2024. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

There is a MEDIUM severity vulnerability affecting CPython.

Regular expressions that allowed excessive backtracking during tarfile.TarFile header parsing are vulnerable to ReDoS via specifically-crafted tar archives.

Weakness: CWE-1333

Which versions are affected by CVE-2024-6232?

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

PackageAffectedFixed in
libpython BitnamiAll versions3.8.20, 3.9.20, 3.10.15, 3.11.10, 3.12.6
python BitnamiAll versions3.8.20, 3.9.20, 3.10.15, 3.11.10, 3.12.6
python-min BitnamiAll versions3.8.20, 3.9.20, 3.10.15, 3.11.10, 3.12.6
Linux distribution packages (37)
python3.11 AlmaLinux:8All versions3.11.10-1.el8_10
python3.11-debug AlmaLinux:8All versions3.11.10-1.el8_10
python3.11-devel AlmaLinux:8All versions3.11.10-1.el8_10
python3.11-idle AlmaLinux:8All versions3.11.10-1.el8_10
python3.11-libs AlmaLinux:8All versions3.11.10-1.el8_10
python3.11-rpm-macros AlmaLinux:8All versions3.11.10-1.el8_10
python3.11-test AlmaLinux:8All versions3.11.10-1.el8_10
python3.11-tkinter AlmaLinux:8All versions3.11.10-1.el8_10
python3.12 AlmaLinux:8All versions3.12.6-1.el8_10
python3.12-debug AlmaLinux:8All versions3.12.6-1.el8_10
python3.12-devel AlmaLinux:8All versions3.12.6-1.el8_10
python3.12-idle AlmaLinux:8All versions3.12.6-1.el8_10
python3.12-libs AlmaLinux:8All versions3.12.6-1.el8_10
python3.12-rpm-macros AlmaLinux:8All versions3.12.6-1.el8_10
python3.12-test AlmaLinux:8All versions3.12.6-1.el8_10
python3.12-tkinter AlmaLinux:8All versions3.12.6-1.el8_10
python39 AlmaLinux:8All versions3.9.20-1.module_el8.10.0+3902+1690be06
python39-Cython AlmaLinux:8All versions0.29.21-5.module_el8.6.0+2780+a40f65e1
python39-Cython AlmaLinux:8All versions0.29.21-5.module_el8.6.0+3248+c431e88c
python39-PyMySQL AlmaLinux:8All versions0.10.1-2.module_el8.6.0+2780+a40f65e1
python39-attrs AlmaLinux:8All versions20.3.0-2.module_el8.6.0+2780+a40f65e1
python39-cffi AlmaLinux:8All versions1.14.3-2.module_el8.6.0+2780+a40f65e1
python39-cffi AlmaLinux:8All versions1.14.3-2.module_el8.6.0+3248+c431e88c
python39-chardet AlmaLinux:8All versions3.0.4-19.module_el8.6.0+2780+a40f65e1
python39-cryptography AlmaLinux:8All versions3.3.1-3.module_el8.10.0+3765+2f9a457d
python39-debug AlmaLinux:8All versions3.9.20-1.module_el8.10.0+3902+1690be06
python39-devel AlmaLinux:8All versions3.9.20-1.module_el8.10.0+3902+1690be06
python39-idle AlmaLinux:8All versions3.9.20-1.module_el8.10.0+3902+1690be06
python39-idna AlmaLinux:8All versions2.10-4.module_el8.10.0+3849+a48d89aa
python39-iniconfig AlmaLinux:8All versions1.1.1-2.module_el8.6.0+2780+a40f65e1
python39-libs AlmaLinux:8All versions3.9.20-1.module_el8.10.0+3902+1690be06
python39-lxml AlmaLinux:8All versions4.6.5-1.module_el8.6.0+2780+a40f65e1
python39-lxml AlmaLinux:8All versions4.6.5-1.module_el8.6.0+3248+c431e88c
python39-mod_wsgi AlmaLinux:8All versions4.7.1-7.module_el8.9.0+3634+fb2a896c
python39-more-itertools AlmaLinux:8All versions8.5.0-2.module_el8.6.0+2780+a40f65e1
python39-numpy AlmaLinux:8All versions1.19.4-3.module_el8.6.0+2780+a40f65e1
python39-numpy AlmaLinux:8All versions1.19.4-3.module_el8.6.0+3248+c431e88c

Products include Python Python.

How do I fix CVE-2024-6232?

Upgrade libpython to a fixed version for your release line: 3.8.20, 3.9.20, 3.10.15 or 3.11.10.

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-2024-6232 being exploited?

There is no known exploitation of CVE-2024-6232 in the wild and no public exploit code.

Public exploit code: 1 proofs of concept on GitHub.

All Python Python vulnerabilities

Sources

Also known as ALPINE-CVE-2024-6232, ALSA-2024:8359, ALSA-2024:8374, ALSA-2024:8446, ALSA-2024:8447, ALSA-2024:8836 and 44 more.

Is CVE-2024-6232 in your software?

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

Check your SBOMs for free