Ruby 1.9.1 升级,修正堆溢出问题

  • Werner Schuster
  • 杨晨

2009 年 12 月 11 日

话题:Ruby安全语言 & 开发架构

新 Ruby 1.9.1 版刚刚发布,即Ruby 1.9.1-p376

每一位使用 Ruby 1.9.1 的开发者应该考虑升级到 p376 版,因为它修正了一个堆溢出问题

在 String#ljust,String#center 和 String#rjust 中存在一个堆溢出问题。这使得攻击者能够在某些特定情况下运行任意代码。

这个 bug 存在于rb_str_justify,可以在这里看到更多关于此 bug 的信息。这个问题仅存在于 1.9.1 中。

1.9.1-p376 还修正了一些其他的 bug,详见 1.9.1-p376 的发布报告

* Irb 扩展命令损坏。现在已经修复。

* Ripper 不能解析某些 Ruby 代码。现在已经修复。

* 修复了在 AIX 上会产生构建失败的问题。

* 修复了 Matrix 的一些问题。

* 可以加载在用户 home 目录下的 gems。

* 一些方法现在能够返回正确编码的字符串。

同时,Ruby 1.9.2 的开发工作也在紧张有序地进行中(Ruby 1.9 trunk 的Changelog,注意文本文件很大)。今年早些时候 Ruby 1.9.2 延迟发布,这是为了确保它能够通过 RubySpec 测试。

查看英文原文:Ruby 1.9.1 Update With Fix for Heap Overflow

Ruby安全语言 & 开发架构