Rust编程语言:因安全缺陷而吊销的板条箱包API令牌

2020-07-15 23:38:37

流行编程语言Rust背后的项目已经从其crates.io包Web应用程序中撤销了所有API密钥。

密钥撤销解决了由于两个因素影响铁锈包裹系统的严重漏洞。首先,Rust开发人员了解到,它用来为crates.io生成API密钥或令牌的PostgreSQL随机函数不是密码安全的随机数生成器。

从理论上讲,攻击者可以观察到足够的随机值来确定随机数生成器的内部状态,并使用此信息确定直到上次数据库服务器重新启动之前创建的API密钥。

计算机使用API密钥对用户或计算机进行身份验证,并控制其拥有的访问权限。

其次,Rust项目发现包的API密钥是以纯文本存储的。如果攻击者攻破数据库,他们将拥有所有当前令牌的API访问权限。

Rust项目现在已经推出了密码安全的随机数生成器,并实现了用于在数据库中存储令牌的散列函数。

利用任何一个问题在实践中都是令人难以置信的不切实际的,我们没有发现任何证据表明这一点在野外被利用。然而,出于高度的谨慎,我们已经选择撤销所有现有的API密钥,它在公告中说。

发布了板条箱软件包的开发者可以在crates.io网站上生成新的API密钥。

crates.io网站显示,总共有超过4.3万个板条箱被下载了超过30亿次。板条箱是Rust编程语言的关键部分。Deno可能是Node.js的继任者,它是用Rust编写的,被认为是板条箱的集合,而不是单一的程序。

铁锈项目似乎对7月11日收到的漏洞报告迅速采取了行动。该问题已被修复,令牌在7月14日连同披露通知一起被吊销。