
使用Rust编程语言开发项目的开发者,以及运行环境中部署Rust应用程序的IT负责人,需要警惕该编程语言某个库中发现的严重漏洞。
Edera安全研究人员表示,他们在流行的Rust库_async-tar_中发现了一个被命名为TARmageddon(CVE-2025-62518)的临界边界解析漏洞。该漏洞不仅存在于该库中,还存在于其众多分支版本中,包括广泛使用的_tokio-tar_。
研究人员在报告中指出:"最坏情况下,该漏洞严重性评分为8.1(高危),可能通过文件覆盖攻击导致远程代码执行(RCE),例如替换配置文件或劫持构建后端。"其他潜在影响还包括通过应用程序传播感染,即所谓的供应链攻击。
研究人员建议首要措施是修补所有活跃分支版本,因为该漏洞影响多个主流且广泛使用的项目,包括_uv_(Astral的Python包管理器)、testcontainers_和_wasmCloud。"由于_tokio-tar_以各种形式广泛存在,目前无法真正量化该漏洞在整个生态系统中的影响范围。"
更糟糕的是,研究人员警告称,下载量极高的_tokio-tar_仍未修复,可能是因为该项目已不再积极维护。Edera建议依赖_tokio-tar_的开发者考虑迁移到已修复漏洞的活跃维护分支,如_astral-tokio-tar_ 0.5.6或更高版本。
漏洞为何如此危险?
加拿大事件响应公司DigitalDefence负责人Robert Beggs解释称,TAR文件在Unix和Linux系统中用于将多个目录和文件打包成归档文件,保留原始信息的完整目录结构和元数据。归档文件通常用于备份,或用于打包软件(如分发源代码)。
Beggs在给CSO的邮件中指出:"由于特定版本TAR库的编写方式存在潜在漏洞,最坏情况下攻击者可在主机系统上执行任意代码,实施恶意操作,如覆盖关键文件(配置文件、构建脚本)或获取未经授权的文件系统访问权限。"利用该漏洞还可能危及任何从恶意TAR文件中提取文件的系统。
"该漏洞尤其严重,因为存在漏洞的TAR库通常作为不再积极维护的应用程序的一部分存在,可能在修补或缓解问题时被遗漏,"他补充道。
虽然目前尚未发现该漏洞被利用的案例,但Beggs表示情况可能迅速变化。"这是一个高危漏洞——在1到10的评分中达到8.1——因此很可能会引起攻击者的注意。"
修复建议
Beggs向信息安全负责人提出以下建议:
- 审计代码以识别对_tokio-tar_分支或封装器的依赖,并确保它们也已修补
- 审查持续集成/持续部署环境以及容器中TAR文件的使用情况,确保已打补丁
- 在处理归档文件时进行隔离(沙箱化),避免从未知来源提取TAR文件
- 持续监控与该库相关的潜在利用或进一步漏洞
管理员可能还对Astral Security发布的说明该问题的公告感兴趣,该公司维护着_astral-tokio-tar_。
该漏洞于7月被发现,当月即向所有库的维护者、Rust基金会和若干项目披露。各方同意本周才公布细节。由于最受欢迎的分支(_tokio-tar_在crates.io上的下载量超过500万次)似乎不再积极维护,Edera协调了对复杂分支谱系的分散披露。
潜在影响
Edera表示,该漏洞是一种去同步缺陷,允许攻击者在TAR提取过程中"夹带"额外的归档条目。当处理嵌套TAR文件时会出现此问题,这些文件在其PAX扩展头和ustar头之间存在特定不匹配。该缺陷源于解析器在确定文件数据边界时的不一致逻辑。
Edera描述的潜在感染场景包括:
- 针对使用_tokio-tar_的Python包管理器的攻击。攻击者将恶意包上传到开源PyPI仓库,开发者从中下载实用工具。包的外部TAR容器包含合法文件,但隐藏的内部TAR包含劫持构建后端的恶意文件。这个隐藏的内部TAR会引入意外或被覆盖的文件,从而破坏测试环境并污染供应链
- 针对具有独立"扫描/批准"阶段的任何系统的攻击。安全扫描器分析外部干净的TAR并批准其有限文件集。然而,使用易受攻击库的提取过程会从内部TAR中提取额外的、未经批准和未经扫描的文件,导致安全控制绕过和策略违规
Rust开发者表示该语言允许创建内存安全的应用程序,但Edera研究人员指出:"TARmageddon的发现是一个重要提醒,Rust并非万灵药。""它并不能消除逻辑错误,"报告强调,"这种解析不一致从根本上说是逻辑缺陷。无论使用何种语言,开发者都必须对所有类型的漏洞保持警惕。"
该报告也提醒人们注意代码中依赖未维护的开源库的危险。
参考来源:
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf
客服小蜜蜂(微信:freebee1024)



