# CVE-2026-104843: uv path traversal in wheel extraction on Windows

Source: https://junglewise.ai/threats/cve-2026-104843-uv-is-a-python-package-and-project-manager-written-in-rust-from  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-10-02. Updated: 2026-10-05  
License: CC BY 4.0 with a link back

CVE-2026-104843 · Severity: medium · CVSS 4 · Published 2026-10-02

uv is a Python package and project manager. On Windows, uv's wheel extraction can be exploited to write files outside the intended installation directory, including executables in directories on the user's system PATH, leading to arbitrary code execution. Non-Windows systems are not affected. The vulnerability is fixed in version 0.12.18.

Technologies: [Astral Uv](https://junglewise.ai/threats/technologies/astral-uv), [uv (PyPI)](https://junglewise.ai/threats/technologies/uv). Vendors: [Astral](https://junglewise.ai/threats/vendors/astral), [crates.io](https://junglewise.ai/threats/vendors/crates-io), [PyPI](https://junglewise.ai/threats/vendors/pypi).

## Quick answers

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

**How severe is CVE-2026-104843?** Medium severity, with a CVSS score of 4, published 2 October 2026.

**Which products and versions are affected?** Astral Uv 0.12.7 to 0.12.17; uv (crates.io) >= 0.12.7, < 0.12.18, SEMVER:introduced=0.12.7,fixed=0.12.18; uv (PyPI) >= 0.12.7, < 0.12.18, ECOSYSTEM:introduced=0.12.7,fixed=0.12.18.

**Is there a fix for CVE-2026-104843?** Yes. uv (crates.io): upgrade to 0.12.18 or later; uv (PyPI): upgrade to 0.12.18 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

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

**Am I affected by CVE-2026-104843?** Check whether you run Astral Uv, uv (crates.io) or uv (PyPI) 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

- uv (crates.io): upgrade to 0.12.18 or later

  ```sh
  cargo update -p uv
  ```

- uv (PyPI): upgrade to 0.12.18 or later

  ```sh
  pip install "uv>=0.12.18"
  ```


## Technical details

A path normalization bug in uv's wheel extraction (SanitizedArchivePath component) on Windows causes drive-relative paths (e.g., C:foo) to be misinterpreted when reconstructed, allowing an attacker to craft a malicious wheel that writes files outside the installation prefix. The vulnerability affects Windows hosts only due to how Windows filesystem paths with drive prefixes are handled; exploitation requires a user to extract a malicious wheel package.

## Affected products

- Astral uv 0.12.7 to 0.12.17

## Identifiers

- CVE-2026-104843
- GHSA-2cv4-cqwr-gwf7
- PYSEC-2026-4305

## Timeline

- 2026-10-02: disclosed
- 2026-09-22: patched

## References

- [https://github.com/astral-sh/uv/commit/67169645278ce082638d619beefa6d062540843b](https://github.com/astral-sh/uv/commit/67169645278ce082638d619beefa6d062540843b)
- [https://github.com/astral-sh/uv/pull/21923](https://github.com/astral-sh/uv/pull/21923)

## Related threats

- [Astral uv arbitrary file deletion through RECORD entries](https://junglewise.ai/threats/duplicate-advisory-uv-vulnerable-to-arbitrary-file-deletion-through-b611c497)
- [Astral uv path traversal via RECORD entries](https://junglewise.ai/threats/cve-2026-114110-astral-uv-before-0-11-6-contains-a-path-traversal-vulnerability)
- [Astral uv path traversal via entry point names](https://junglewise.ai/threats/cve-2026-114109-uv-before-0-11-15-contains-a-path-traversal-vulnerability-that)
- [Astral uv path traversal in sdist tar extraction](https://junglewise.ai/threats/cve-2025-71437-astral-uv-before-0-8-22-contains-a-path-traversal-vulnerability)
- [Astral uv compromised emSign CA root certificate](https://junglewise.ai/threats/pysec-2026-4321-uv-s-bundled-ca-store-trusts-an-emsign-root-whose-aeefabb5)
