新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