手机版
你好,游客 登录 注册
背景:
阅读新闻

Rust 1.25及更低版本中的Cargo漏洞使其忽略软件包密钥并下载了错误的依赖项

[日期:2019-10-02] 来源:Linux公社  作者:醉落红尘 [字体: ]

昨天,Rust团队分享了一个Cargo漏洞,混淆了较旧版本的Cargo,使他们忽略了新的软件包重命名功能,并下载了错误的依赖项。 跟踪为CVE-2019-16760的此漏洞通过Rust 1.25影响Rust 1.0。

该漏洞由Elichai Turkel首次报告给Rust团队:

A vulnerability in all cargo versions predating 1.26.
If you're using them please update or patch the code: https://t.co/TBk7sCvI57 https://t.co/VxggW1lfLP

— Elichai Turkel (@Elichai2) September 30, 2019

Rust 1.36 发布,为 Cargo 带来离线支持

Cargo漏洞详细信息

Rust 1.31在“ Cargo.toml”清单文件中引入了用于重命名依赖关系的软件包配置密钥。在Rust 1.25及更低版本中,Cargo忽略其重命名依赖项的用法,并可能最终下载了错误的依赖项。它不仅影响在本地编写的清单,而且还影响发布到crates.io的清单。

“例如,如果您发布的crate依赖于`serde1`到crates.io,那么依赖您的用户在使用Rust 1.25.0及更低版本时也会受到攻击。该团队写道,Rust 1.0.0到Rust 1.25.0受此通报影响,因为Cargo将忽略清单中的“ package”键。

此漏洞不会影响Rust 1.26到Rust 1.30版本,并且会由于软件包密钥在这些版本中不稳定而引发错误。 Rust 1.31及更高版本不受影响,因为Cargo理解软件包的密钥。

缓解此Cargo漏洞的步骤

该团队已经使用发布到crates.io的软件包密钥审核了现有的crate,并且没有检测到此漏洞的任何利用。但是,他们建议受影响版本的用户将其编译器更新为1.26或更高版本。

该团队进一步写道:“我们将不会发布1.26.0之前的Rust版本的补丁程序版本。 Rust 1.19.0到Rust 1.25.0的用户可以改用提供的补丁来缓解此问题。”

阅读Rust团队的官方公告,以详细了解此漏洞。

Rust 1.8发布下载,放弃了Unix系统的Make编译系统 http://www.linuxidc.com/Linux/2016-04/130451.htm

Rust 1.2 稳定版发布下载,Mozilla 编程语言  http://www.linuxidc.com/Linux/2015-08/121290.htm

为什么我说 Rust 是靠谱的编程语言  http://www.linuxidc.com/Linux/2015-05/117711.htm

Rust 1.2带来了更快的编译速度和并行代码生成  http://www.linuxidc.com/Linux/2015-08/121830.htm

Rust 的详细介绍请点这里
Rust 的下载地址请点这里

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址https://www.linuxidc.com/Linux/2019-10/160884.htm

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款