uv, ZIP Archive Parsing Vulnerability, CVE-2024-XXXX (Critical)

Listen to this Post

How the CVE Works

The vulnerability in uv (versions ≤0.8.5) stems from improper handling of remote ZIP archives during streamwise processing. File entries were not validated against the central directory, enabling two exploit paths:
1. Multi-Entry Ambiguity: Attackers craft ZIPs with duplicate local file entries, causing installers like uv to extract malicious content while others process legitimate files.
2. Stacked ZIPs: Malicious nested ZIPs trigger divergent parsing across installers. Both methods produce consistent digests but yield different outputs per installer.
The ambiguity in ZIP standards permits these differentials, affecting not just uv but potentially other tools like pip. Exploitation requires user interaction (e.g., installing attacker-controlled packages). PyPI’s backend (Warehouse) now blocks such ZIPs, mitigating widespread abuse.

DailyCVE Form

Platform: uv (Python installer)
Version: ≤0.8.5
Vulnerability: ZIP parsing bypass
Severity: Critical
Date: 2024-XX-XX

Prediction: Patch released (0.8.6)

What Undercode Say

Check uv version:
uv --version
Force secure ZIP validation (post-patch):
unset UV_INSECURE_NO_ZIP_VALIDATION
Manual audit for malicious ZIPs:
unzip -l suspect_package.zip | grep -A 5 "duplicate|nested"

How Exploit

  • Craft multi-entry/stacked ZIPs.
  • Target uv’s streamwise parsing.
  • Bypass digest checks.

Protection from this CVE

  • Upgrade to uv ≥0.8.6.
  • Reject UV_INSECURE_NO_ZIP_VALIDATION.
  • Prefer PyPI for packages.

Impact

  • Arbitrary code execution.
  • Installer-specific exploitation.
  • Limited by PyPI fixes.

🎯Let’s Practice Exploiting & Learn Patching For Free:

Sources:

Reported By: github.com
Extra Source Hub:
Undercode

🔐JOIN OUR CYBER WORLD [ CVE News • HackMonitor • UndercodeNews ]

💬 Whatsapp | 💬 Telegram

📢 Follow DailyCVE & Stay Tuned:

𝕏 formerly Twitter 🐦 | @ Threads | 🔗 Linkedin Featured Image

Scroll to Top