# CVE-2026-24049: PyPA wheel path traversal in unpack function

Source: https://junglewise.ai/threats/cve-2026-24049-pypa-wheel-path-traversal-in-unpack-function  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-01-22. Updated: 2026-06-30  
License: CC BY 4.0 with a link back

CVE-2026-24049 · Severity: high · CVSS 7.1 · Published 2026-01-22

The 'wheel' library, a standard tool for installing Python packages, contains a security flaw in how it handles file extractions. An attacker can create a specially crafted package file that, when opened by a user, changes the permissions of sensitive files elsewhere on the computer (such as system configuration or security keys). This could allow an attacker to gain administrative control over the system or modify critical data.

Technologies: [Python Packaging Authority Setuptools](https://junglewise.ai/threats/technologies/setuptools). Vendors: [PyPI](https://junglewise.ai/threats/vendors/pypi), [Python Packaging Authority](https://junglewise.ai/threats/vendors/python-packaging-authority).

## Quick answers

**Is CVE-2026-24049 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-24049 being exploited in the wild.

**How severe is CVE-2026-24049?** High severity, with a CVSS score of 7.1, published 22 January 2026.

**Which products and versions are affected?** wheel (PyPI) ECOSYSTEM:introduced=0.40.0,fixed=0.46.2; Python Packaging Authority Setuptools Affected via vendored wheel library.

**Is there a fix for CVE-2026-24049?** Yes. wheel (PyPI): upgrade to 0.46.2 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-24049 attacked?** It is attacked with local access, in a software library.

**Am I affected by CVE-2026-24049?** Check whether you run wheel (PyPI), Python Packaging Authority Setuptools or Wheel Project Wheel at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- wheel (PyPI): upgrade to 0.46.2 or later

  ```sh
  pip install "wheel>=0.46.2"
  ```


## Technical details

A path traversal vulnerability exists in the 'wheel.cli.unpack.unpack' function. While the extraction process itself (via zipfile) is sanitized, the subsequent 'chmod' operation blindly trusts the unsanitized filename from the archive header (zinfo.filename). By crafting a wheel file containing entries with '../' sequences and specific external attributes, an attacker can trigger a chmod operation on files outside the intended destination directory. This can be used to make sensitive files like /etc/passwd or SSH keys world-writable (0o777). The issue is also present in 'setuptools' due to its vendoring of the 'wheel' library. A fix is available in version 0.46.2 which uses the sanitized path returned by the extraction process for permission updates.

## Affected products

- Python Packaging Authority (PyPA) wheel 0.40.0 through 0.46.1
- Python Packaging Authority (PyPA) setuptools Affected via vendored wheel library

## Identifiers

- CVE-2026-24049
- GHSA-8rrh-rw8j-w5fx
- PYSEC-2026-2047

## Timeline

- 2026-01-21: patched: Version 0.46.2 released
- 2026-01-22: disclosed: Security advisory published

## References

- [https://github.com/pypa/wheel/commit/7a7d2de96b22a9adf9208afcc9547e1001569fef](https://github.com/pypa/wheel/commit/7a7d2de96b22a9adf9208afcc9547e1001569fef)
- [https://github.com/pypa/wheel/releases/tag/0.46.2](https://github.com/pypa/wheel/releases/tag/0.46.2)
- [https://github.com/pypa/wheel/security/advisories/GHSA-8rrh-rw8j-w5fx](https://github.com/pypa/wheel/security/advisories/GHSA-8rrh-rw8j-w5fx)
- [https://access.redhat.com/errata/RHSA-2026:10184](https://access.redhat.com/errata/RHSA-2026:10184)
- [https://access.redhat.com/errata/RHSA-2026:13545](https://access.redhat.com/errata/RHSA-2026:13545)
- [https://access.redhat.com/errata/RHSA-2026:14020](https://access.redhat.com/errata/RHSA-2026:14020)
- [https://access.redhat.com/errata/RHSA-2026:1504](https://access.redhat.com/errata/RHSA-2026:1504)

## Related threats

- [setuptools path escape via namespace_packages.txt on Windows](https://junglewise.ai/threats/setuptools-windows-path-escape-via-namespace-packages-txt-during-legacy-93ae767b)
- [pypa/wheel vulnerable to Regular Expression denial of service (ReDoS)](https://junglewise.ai/threats/cve-2022-40898-pypa-wheel-vulnerable-to-regular-expression-denial-of-service)
- [Setuptools man-in-the-middle attack in package installation](https://junglewise.ai/threats/cve-2013-1633-setuptools-man-in-the-middle-attack-in-package-installation)
