Ruby 解释器缺陷

  • Werner Schuster
  • 李明(nasi)

2008 年 7 月 2 日

话题:RubyRuby on Rails安全语言 & 开发架构

一个关于 Ruby 严重缺陷的安全建议刚刚发布,涉及到 Ruby 1.8.x 和 Ruby 1.9:

Ruby 中的多处缺陷可使得攻击者进行服务拒绝攻击(DoS)或者执行任意代码。[..]
受影响的版本包括:
1.8 系列

 * 1.8.4 和所有先前版本

 * 1.8.5-p230 和所有先前版本

 * 1.8.6-p229 和所有先前版本

 * 1.8.7-p21 和所有先前版本 

1.9 系列

 * 1.9.0-1 和所有先前版本
Jeremy Kemper在博客 Riding Rails 中指出
如果采用 Ruby 1.8.4 或者更老版本的话,必须升级到 1.8.5 或者更新的版本来修复。如果采用 1.8.5-7 的用户则可以下载最新的补丁级发布来修复。

(请注意:Ruby 1.8.7 打破了向后兼容性,只兼容 Rails 2.1 或者更新的版本,因此可别鲁莽行事!)
此问题由 Apple 产品安全部门的 Drew Yao 所发现。

在推荐升级的同时,也提醒使用者确认升级不会对应用程序造成影响。RubyInside 的文章阐述了,当升级至修复版本 1.8.6(1.8.6-p230)时,修复缺陷可能带来的兼容性或稳定性的问题,同时也被回复在 Jeremy 的博客之上。

要了解更多关于修复缺陷的问题,请看“Drew Yao 的恐怖 Ruby 缺陷的更新”,文中展示了集中可以本地触发问题的方法,并指出了 Ruby SVN 仓库中的修改

因为缺陷是在 1.8.x 和 1.9.x 的原生代码中找到,所以其他的例如 JRuby 等 Ruby 实现未受影响。

查看英文原文:Ruby interpreter vulnerabilities

RubyRuby on Rails安全语言 & 开发架构