2009年9月4日,星期五

Ruby on Rails 中的时序弱点

由 michael 发布

Ruby on Rails 使用的代码来验证 Cookie 存储中的消息
摘要存在一个弱点。因为其使用非恒定时间算法来
验证签名,攻击者可能能够确定伪造的
签名何时部分正确。通过重复此过程,他们可能能够成功伪造摘要。

Versions Affected:  2.1.0 and *all* subsequent versions.
Fixed Versions:     2.3.4, 2.2.3

影响

由于网络延迟、非确定性 GC 运行和其他
问题,在野外利用此攻击不太可能
在合理的时间内完成。但是,用户仍应尽快升级
以消除此弱点。

版本发布

2.3.4 和 2.2.3 版本将很快发布,并将包含此问题以及其他问题的修复。

补丁

为了向运行不受支持的
版本或目前无法升级的用户提供修复,我们提供了补丁
适用于所有受影响的稳定发布分支。

这些补丁采用适合 git-am 的格式,并由单个
更改集组成,该更改集实现了

鸣谢

感谢 Coda Hale 向我们报告此错误,并帮助我们进行修复。