uv在tar提取过程中存在PAX头解析差异
漏洞详情
受影响版本
- uv <= 0.9.4
已修复版本
- uv 0.9.5
漏洞描述
影响
在uv 0.9.4及更早版本中,处理包含PAX头部且具有文件大小覆盖的tar压缩包时存在解析问题。攻击者可以构造特定的源码分发包(tar格式),在使用uv安装时与其他Python包安装器产生不同的提取结果。
此解析差异的根本原因源于astral-tokio-tar库,该漏洞已以CVE-2025-62518披露。
实际上,此漏洞的影响较低:只有源码分发包可以格式化为tar压缩包,而源码分发包在构建/安装时默认会执行任意代码。因此,tar提取过程中的解析差异严格来说比攻击者控制源码分发包已有的能力要弱。
然而,这种源码分发包的可塑性来源是无意的,并非设计行为,因此尽管其能力与预期行为有重叠,我们仍将其视为漏洞。
修复措施
uv 0.9.5及更新版本已解决上述漏洞。用户应升级到0.9.5或更新版本。
临时解决方案
建议用户升级到0.9.5或更新版本以解决此建议。 用户在上述修复后不应遇到任何破坏性变更。
参考信息
- 参见CVE-2025-62518,了解针对astral-tokio-tar的相应建议
- GHSA-w476-p2h3-79g9
- astral-sh/uv#16387
- astral-sh/uv@ae45066
- GHSA-j5gw-2vrg-8fgx
- https://github.com/astral-sh/uv/releases/tag/0.9.5
安全信息
严重程度
- 低风险
弱点类型
- CWE-843 使用不兼容类型访问资源(类型混淆)
产品使用一种类型分配或初始化资源(如指针、对象或变量),但后来使用与原始类型不兼容的类型访问该资源。