CVE-2024-6232 Regular-expression DoS when parsing TarFile headers
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.
| Package | Affected | Fixed in |
|---|---|---|
libpython Bitnami | All versions | 3.8.20, 3.9.20, 3.10.15, 3.11.10, 3.12.6 |
python Bitnami | All versions | 3.8.20, 3.9.20, 3.10.15, 3.11.10, 3.12.6 |
python-min Bitnami | All versions | 3.8.20, 3.9.20, 3.10.15, 3.11.10, 3.12.6 |
Linux distribution packages (37)
python3.11 AlmaLinux:8 | All versions | 3.11.10-1.el8_10 |
python3.11-debug AlmaLinux:8 | All versions | 3.11.10-1.el8_10 |
python3.11-devel AlmaLinux:8 | All versions | 3.11.10-1.el8_10 |
python3.11-idle AlmaLinux:8 | All versions | 3.11.10-1.el8_10 |
python3.11-libs AlmaLinux:8 | All versions | 3.11.10-1.el8_10 |
python3.11-rpm-macros AlmaLinux:8 | All versions | 3.11.10-1.el8_10 |
python3.11-test AlmaLinux:8 | All versions | 3.11.10-1.el8_10 |
python3.11-tkinter AlmaLinux:8 | All versions | 3.11.10-1.el8_10 |
python3.12 AlmaLinux:8 | All versions | 3.12.6-1.el8_10 |
python3.12-debug AlmaLinux:8 | All versions | 3.12.6-1.el8_10 |
python3.12-devel AlmaLinux:8 | All versions | 3.12.6-1.el8_10 |
python3.12-idle AlmaLinux:8 | All versions | 3.12.6-1.el8_10 |
python3.12-libs AlmaLinux:8 | All versions | 3.12.6-1.el8_10 |
python3.12-rpm-macros AlmaLinux:8 | All versions | 3.12.6-1.el8_10 |
python3.12-test AlmaLinux:8 | All versions | 3.12.6-1.el8_10 |
python3.12-tkinter AlmaLinux:8 | All versions | 3.12.6-1.el8_10 |
python39 AlmaLinux:8 | All versions | 3.9.20-1.module_el8.10.0+3902+1690be06 |
python39-Cython AlmaLinux:8 | All versions | 0.29.21-5.module_el8.6.0+2780+a40f65e1 |
python39-Cython AlmaLinux:8 | All versions | 0.29.21-5.module_el8.6.0+3248+c431e88c |
python39-PyMySQL AlmaLinux:8 | All versions | 0.10.1-2.module_el8.6.0+2780+a40f65e1 |
python39-attrs AlmaLinux:8 | All versions | 20.3.0-2.module_el8.6.0+2780+a40f65e1 |
python39-cffi AlmaLinux:8 | All versions | 1.14.3-2.module_el8.6.0+2780+a40f65e1 |
python39-cffi AlmaLinux:8 | All versions | 1.14.3-2.module_el8.6.0+3248+c431e88c |
python39-chardet AlmaLinux:8 | All versions | 3.0.4-19.module_el8.6.0+2780+a40f65e1 |
python39-cryptography AlmaLinux:8 | All versions | 3.3.1-3.module_el8.10.0+3765+2f9a457d |
python39-debug AlmaLinux:8 | All versions | 3.9.20-1.module_el8.10.0+3902+1690be06 |
python39-devel AlmaLinux:8 | All versions | 3.9.20-1.module_el8.10.0+3902+1690be06 |
python39-idle AlmaLinux:8 | All versions | 3.9.20-1.module_el8.10.0+3902+1690be06 |
python39-idna AlmaLinux:8 | All versions | 2.10-4.module_el8.10.0+3849+a48d89aa |
python39-iniconfig AlmaLinux:8 | All versions | 1.1.1-2.module_el8.6.0+2780+a40f65e1 |
python39-libs AlmaLinux:8 | All versions | 3.9.20-1.module_el8.10.0+3902+1690be06 |
python39-lxml AlmaLinux:8 | All versions | 4.6.5-1.module_el8.6.0+2780+a40f65e1 |
python39-lxml AlmaLinux:8 | All versions | 4.6.5-1.module_el8.6.0+3248+c431e88c |
python39-mod_wsgi AlmaLinux:8 | All versions | 4.7.1-7.module_el8.9.0+3634+fb2a896c |
python39-more-itertools AlmaLinux:8 | All versions | 8.5.0-2.module_el8.6.0+2780+a40f65e1 |
python39-numpy AlmaLinux:8 | All versions | 1.19.4-3.module_el8.6.0+2780+a40f65e1 |
python39-numpy AlmaLinux:8 | All versions | 1.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.
Other vulnerabilities in Python Python
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.