Skip to main content

Astral uv EUVDEUVD-2026-106913

| CVE-2026-114110 HIGH
Relative Path Traversal (CWE-23)
2026-10-21 VulnCheck GHSA-m3wx-qqmx-qxvf
8.7
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Craft wheel with traversal RECORD paths
  2. Delivery
    Distribute malicious wheel to victim
  3. Exploit
    Victim installs package with uv
  4. Execution
    Victim uninstalls package
  5. Impact
    uv deletes arbitrary files outside prefix

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Relative path traversal prevention
Exploitation Conditions

Exploitation requires a maliciously hand-crafted wheel whose RECORD file contains relative traversal ('../') entries pointing outside the installation prefix - standards-compliant Python packaging tooling never produces such RECORDs, so the attacker must manually manipulate the file. The victim must BOTH install AND subsequently uninstall the malformed wheel using uv <= 0.11.5, since uv only consults RECORD for deletion on uninstall. To hit meaningful targets such as system files, the attacker must correctly guess the depth of the installation prefix path. Limiting factors: only files (not directories) can be deleted, absolute paths in RECORD are neutralized (treated as rooted in the install prefix), there is no confidentiality/information-disclosure impact, and the required install-then-uninstall cycle constitutes genuine user interaction despite UI:N in the published vector. Fixed in uv 0.11.6.

Impact

The published CVSS 4.0 base score of 8.7 with vector AV:N/AC:L/PR:N/UI:N reads as a trivially exploitable remote, unauthenticated flaw, but the advisory text contradicts this: successful exploitation requires a victim to both install AND subsequently uninstall a hand-crafted malicious wheel, and the attacker must correctly guess the depth of the installation prefix path to reach specific system files. These are meaningful limiting factors that the AC:L/UI:N metrics do not capture. There is also an impact-labeling conflict - the official vector sets VC:H (confidentiality high) with VI:N/VA:N, yet the vulnerability only enables arbitrary file DELETION, which is an integrity/availability impact rather than a confidentiality one; verify impact mapping with the vendor/NVD. No EPSS score, no CISA KEV listing, and no public exploit code are present in the provided data, so there is no signal of active or probable exploitation. Net assessment: this is a legitimate supply-chain/local-tooling risk for developer and CI environments that install untrusted wheels, but the real-world priority is materially lower than the 8.7 implies because of the install-and-uninstall precondition, the path-depth guessing requirement, the file-only (not directory) deletion limit, and the absence of exploitation evidence.

Exploit ScenarioDerived

An attacker publishes or supplies a crafted wheel whose RECORD contains relative '../' traversal entries pointing outside the installation prefix. A developer or CI pipeline installs the package with uv (<= 0.11.5) and later uninstalls it, at which point uv honors the malicious RECORD and deletes the referenced files outside the environment. No public PoC is identified in the provided data, and success additionally requires the attacker to guess the installation prefix depth to target specific system files.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 21, 2026

Arbitrary file deletion in Astral uv 0.11.5 and earlier allows a maliciously hand-crafted wheel to cause uv to remove files outside the package's installation prefix when that wheel is uninstalled. The attacker must embed relative traversal sequences ('../') in the wheel's RECORD entries - something no standards-compliant Python packaging tool produces - and the victim must both install and later uninstall the package for the deletion to occur; the attacker must also correctly guess the installation prefix depth to reach specific system files. The published CVSS 4.0 score of 8.7 (AV:N/AC:L/PR:N/UI:N) overstates practical exploitability, and our reassessment (CVSS 3.1 AV:N/AC:H/PR:N/UI:R/S:C/C:N/I:H/A:H) reflects the required user interaction and prefix-guessing precondition; no public exploit code and no confirmed active exploitation (CISA KEV) were identified at time of analysis. Fixed in uv 0.11.6.

RemediationAI

Vendor-released patch: upgrade to uv 0.11.6 or later, which validates RECORD entries on installation (PR 18943) and refuses to follow escaping paths on uninstall (PR 18942); the project states there are no breaking changes from the fix, so the upgrade can be treated as routine - install via your usual channel (e.g. 'pip install -U uv' or the standalone installer) and verify the version with 'uv --version'. Where upgrading is temporarily blocked, compensating controls target the attacker's preconditions rather than the code path: treat wheel installation as a trust boundary and only install wheels from internal indexes or artifact repositories that are hash-pinned and signed, since the attack requires an attacker-supplied wheel to be published or substituted into your supply chain; unpack suspicious wheels and inspect the RECORD file for '../' segments or absolute paths before installing (a low-cost manual gate, but it does not scale and only catches deliberate tampering); and avoid uninstalling packages that originated from untrusted sources under uv 0.11.5, deleting the virtual environment directory instead - note that this trades away the risky RECORD-driven uninstall at the cost of leaving orphaned state on shared interpreters. Installing into an isolated virtual environment or container limits the blast radius considerably, since traversal targets outside the environment are the files an attacker actually wants and deeper prefixes are harder to guess.

Affected VersionsENISA

uv 0 <0.11.6

Affected Packages

pypi uv fix: 0.11.6

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in pypi

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Python wheels are ZIP archives whose PEP 427 / PyPA RECORD file enumerates installed files with their hashes and sizes; installers and uninstallers use it as the manifest of record for what belongs to a package. uv 0.11.5 and earlier validated neither the RECORD on installation nor the resolved paths on uninstall, so a RECORD entry containing '../' segments would be joined to the installation prefix and could resolve outside it, making the target file eligible for removal when the package is uninstalled. This is CWE-23 (relative path traversal), specifically a write-side variant that manifests as deletion rather than file write or read - the advisory explicitly notes that uv does not use RECORD to determine wheel file paths, so invalid entries cannot create or modify files, and absolute paths (prohibited by the spec) are always treated as rooted in the installation prefix and therefore neutralized. Directory targets also fail, so the primitive is limited to deleting individual files whose path depth the attacker can predict. The fix is two-part: PR 18943 strips invalid traversal entries from RECORD during wheel installation, and PR 18942 makes the uninstaller ignore any RECORD path that would escape the installation prefix, providing defense at both the ingest and deletion stages.

Know when Uv gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 8.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 8.0 HIGH

Deletion-only impact gives C:N with I:H/A:H; victim must install then uninstall a hand-crafted wheel (UI:R) and guess prefix depth (AC:H); files outside uv's scope yield S:C.

3.1 AV:N/AC:H/PR:N/UI:R/S:C/C:N/I:H/A:H
4.0 AV:N/AC:H/AT:N/PR:N/UI:A/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N
Red Hat 6.3 MEDIUM

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Oct 21, 2026 - 02:01 EUVD
CVE Published
Oct 21, 2026 - 00:37 cve.org
HIGH 8.7

DescriptionCVE.org

Astral uv before 0.11.6 contains a path traversal vulnerability that allows attackers to delete arbitrary files by supplying wheels with relative traversal paths in RECORD entries. Attackers can craft a malicious wheel whose RECORD references files outside the installation prefix, causing uv to delete those files when the user uninstalls the package.

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 3 pypi packages depend on uv (3 direct, 0 indirect)

Ecosystem-wide dependent count for version 0.11.6.

Technical POC Analysis

Evidence base: GHSA-pjjw-68hj-v9mw (astral-sh/uv).

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

Astral's uv package manager (versions 0.11.5 and earlier) contains a file-deletion flaw that could let a maliciously crafted Python wheel erase files outside its own installation directory when a developer later uninstalls that package. Because uv is widely used across developer laptops and CI/CD build pipelines, a successful attack could corrupt build environments and disrupt software delivery, though it requires a developer to install an untrusted wheel and then uninstall it, and no public exploit code or active exploitation has been identified. Leadership should treat this as a software supply-chain hygiene issue affecting engineering productivity rather than an imminent external threat.

Business Impact: Medium
Compensating Controls

Apply vendor patch (uv 0.11.6). Until upgraded, restrict uv installs to wheels from trusted internal indexes or verified publishers, run install/uninstall operations inside ephemeral containers or sandboxed runners with least-privilege filesystem access, and grep wheel RECORD files for '../' traversal sequences before installation.

Threat Intelligence Overview

EPSS Score
0.3%
Top 82% exploitable
Prevalence
High
fast-growing Python package manager widely used in dev and CI environments
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment Vendor GitHub

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
Medium
Technical Impact
Partial

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

Related Vulnerabilities in Astral uv Path Traversal in Package Extraction

View all 3

Vendor StatusVendor

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy