CVE-2026-24049: pypa wheel Path Traversal
Vulnerability summary
CVE-2026-24049 is a high (CVSS 7.1) Path Traversal vulnerability in pypa wheel. EPSS estimates a 0.35% chance of exploitation in the next 30 days, higher than 27.1% of scored vulnerabilities. 1 public exploit is recorded.
Advisory lineage
Upstream 0 · Downstream 2 · Related 1Timeline
- 22-01-2026PublishedVulnerability first disclosed.
- 16-09-2026Last modifiedVulnerability information updated.
Description
wheel is a command line tool for manipulating Python wheel files, as defined in PEP 427. In versions 0.40.0 through 0.46.1, the unpack function is vulnerable to file permission modification through mishandling of file permissions after extraction. The logic blindly trusts the filename from the archive header for the chmod operation, even though the extraction process itself might have sanitized the path. Attackers can craft a malicious wheel file that, when unpacked, changes the permissions of critical system files (e.g., /etc/passwd, SSH keys, config files), allowing for Privilege Escalation or arbitrary code execution by modifying now-writable scripts. This issue has been fixed in version 0.46.2.
CVSS metrics
9 scores · 9 sources · 1 version- OSV · AlpineEcosystem advisory · calculated5.5MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:NDiffers
- OSV · PypiEcosystem advisory · calculated7.1HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H
- OSV · Red hatEcosystem advisory · calculated7.1HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H
- OSV · UbuntuEcosystem advisory · calculated5.5MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:NDiffers
- OSV · DebianEcosystem advisory · calculated5.5MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:NDiffers
- OSV · WolfiEcosystem advisory · calculated7.1HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H
- OSV · ChainguardEcosystem advisory · calculated7.1HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H
- NVDNIST5.5MediumCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:NDiffers
EPSS trend
Probability
0.35%
Chance of exploitation in the next 30 days
Percentile
27%
Versus all other CVEs
30-day change
-0.01 pp
From 0.36% on 19-09-2026
Known exploited
Compare KEV catalogsNot in any of the 3 tracked catalogs.
Public exploits
1 foundWheel
Maturity: poc
Weaknesses
CWE · root cause- CWE-22Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')The product uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the product does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory.
- CWE-732Incorrect Permission Assignment for Critical ResourceThe product specifies permissions for a security-critical resource in a way that allows that resource to be read or modified by unintended actors.
Affected systems
Chainguard89 products
- airflow-2< 2.11.0-r25 | < 2.11.2-r5
- airflow-3< 3.1.6-r2
- ansible-operator< 1.42.0-r6
- ansible-operator-fips< 1.42.0-r4
- apache-beam-python-3.11-sdk< 2.71.0-r0
Wolfi44 products
- airflow-3< 3.1.6-r2
- aws-cli-2< 2.33.1-r0
- dask-kubernetes< 2025.7.0-r8
- datadog-agent-7.72< 7.72.4-r7
- datadog-agent-7.72-core-integrationsAll versions (No fix recorded)
Suse15 products
- python-wheel&distro=SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS< 0.40.0-150400.13.10.1
- python-wheel&distro=SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS< 0.40.0-150400.13.10.1
- python-wheel&distro=SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS< 0.40.0-150400.13.10.1
- python-wheel&distro=SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS< 0.40.0-150400.13.10.1
- python-wheel&distro=SUSE Linux Enterprise Module for Public Cloud 15 SP4< 0.40.0-150400.13.10.1
Redhat6 products
- discovery-cli< 0:2.4.3-2.el10 | < 0:2.4.3-2.el8 | < 0:2.4.3-2.el9
- python-wheel< 1:0.41.2-5.el10_1.1 | < 1:0.41.2-5.el10_0.1
- python3-wheel< 1:0.41.2-5.el10_1.1 | < 1:0.41.2-5.el10_0.1
- python3-wheel-wheel< 1:0.41.2-5.el10_1.1 | < 1:0.41.2-5.el10_0.1
- python3.12-wheel< 0:0.41.2-3.el9_7.1 | < 0:0.41.2-4.el8_10 | < 0:0.41.2-3.el9_6.1 | < 0:0.41.2-3.el9_4.1
Opensuse3 products
- python-wheel&distro=openSUSE Leap 15.6< 0.42.0-150600.3.3.1 | < 0.40.0-150400.13.10.1
- python-wheel&distro=openSUSE Leap 16.0< 0.45.1-160000.3.1
- python-wheel&distro=openSUSE Tumbleweed< 0.46.3-1.1
Ubuntu2 products
- python-pipAll versions (No fix recorded)
- wheelAll versions (No fix recorded) | < 0.42.0-2ubuntu0.1~esm1
Alpine1 product
- py3-wheel≥ 0.40.0, < 0.46.3-r0
Debian1 product
- wheelAll versions (No fix recorded) | < 0.46.3-1
Pypa1 product
- wheel≥ 0.40.0, < 0.46.2
PyPI1 product
- wheel≥ 0.40.0, < 0.46.2
Wheel_project1 product
- wheel≥ 0.40.0, < 0.46.2
11 vendors · 164 products
References
76 links- github.com/pypa/wheel/security/advisories/GHSA-8rrh-rw8j-w5fxX Refsource CONFIRMWEBARTICLEREPORTAdvisoryExploitMitigationVendor Advisory
- github.com/pypa/wheel/commit/7a7d2de96b22a9adf9208afcc9547e1001569fefX Refsource MISCWEBFIXARTICLEREPORTPatch
Show all 76 references
- github.com/pypa/wheelPACKAGE
- pypi.org/project/wheelPACKAGE