GHSA-W476-P2H3-79G9
Vulnerability from github – Published: 2025-10-21 18:53 – Updated: 2025-10-21 18:53Impact
In versions 0.9.4 and earlier of uv, tar archives containing PAX headers with file size overrides were not handled properly. As a result, an attacker could contrive a source distribution (as a tar archive) that would extract differently when installed via uv versus other Python package installers.
The underlying parsing differential here originates with astral-tokio-tar, which disclosed this vulnerability as CVE-2025-62518.
In practice, the impact of this vulnerability is low: only source distributions can be formatted as tar archives, and source distributions execute arbitrary code at build/installation time by definition. Consequently, a parser differential in tar extraction is strictly less powerful than the capabilities already exposed to an attacker who has the ability to control source distributions.
However, this particular source of malleability in source distributions is unintentional and not operating by design, and therefore we consider it a vulnerability despite its overlap in capabilities with intended behavior.
Patches
Versions 0.9.5 and newer of uv address the vulnerability above. Users should upgrade to 0.9.5 or newer.
Workarounds
Users are advised to upgrade to version 0.9.5 or newer to address this advisory.
Users should experience no breaking changes as a result of the patch above.
References
- See CVE-2025-62518 for the corresponding advisory against astral-tokio-tar
{
"affected": [
{
"database_specific": {
"last_known_affected_version_range": "\u003c= 0.9.4"
},
"package": {
"ecosystem": "PyPI",
"name": "uv"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "0.9.5"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [],
"database_specific": {
"cwe_ids": [
"CWE-843"
],
"github_reviewed": true,
"github_reviewed_at": "2025-10-21T18:53:27Z",
"nvd_published_at": null,
"severity": "LOW"
},
"details": "### Impact\n\nIn versions 0.9.4 and earlier of uv, tar archives containing PAX headers with file size overrides were not handled properly. As a result, an attacker could contrive a source distribution (as a tar archive) that would extract differently when installed via uv versus other Python package installers.\n\nThe underlying parsing differential here originates with astral-tokio-tar, which disclosed this vulnerability as CVE-2025-62518.\n\nIn practice, the impact of this vulnerability is **low**: only source distributions can be formatted as tar archives, and source distributions execute arbitrary code at build/installation time by definition. Consequently, a parser differential in tar extraction is strictly less powerful than the capabilities already exposed to an attacker who has the ability to control source distributions. \n\nHowever, this particular source of malleability in source distributions is unintentional and not operating by design, and therefore we consider it a vulnerability despite its overlap in capabilities with intended behavior.\n\n### Patches\n\nVersions 0.9.5 and newer of uv address the vulnerability above. Users should upgrade to 0.9.5 or newer.\n\n### Workarounds\n\nUsers are advised to upgrade to version 0.9.5 or newer to address this advisory.\n\nUsers should experience no breaking changes as a result of the patch above.\n\n### References\n\n* See CVE-2025-62518 for the corresponding advisory against astral-tokio-tar",
"id": "GHSA-w476-p2h3-79g9",
"modified": "2025-10-21T18:53:28Z",
"published": "2025-10-21T18:53:27Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/astral-sh/uv/security/advisories/GHSA-w476-p2h3-79g9"
},
{
"type": "WEB",
"url": "https://github.com/astral-sh/uv/pull/16387"
},
{
"type": "WEB",
"url": "https://github.com/astral-sh/uv/commit/ae450662d1546e9853f67a8c61a506d3a892d963"
},
{
"type": "ADVISORY",
"url": "https://github.com/advisories/GHSA-j5gw-2vrg-8fgx"
},
{
"type": "PACKAGE",
"url": "https://github.com/astral-sh/uv"
},
{
"type": "WEB",
"url": "https://github.com/astral-sh/uv/releases/tag/0.9.5"
}
],
"schema_version": "1.4.0",
"severity": [],
"summary": "uv has differential in tar extraction with PAX headers"
}
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.