Ruby 安全漏洞,1.9/2.0 全分支受影响
jopen 11年前
Ruby 开发团队今天发布了两个更新版本 Ruby 1.9.3-p429 和 Ruby 2.0.0-p195。
这两个版本主要修复了 Ruby DL / Fiddle 中的一个安全漏洞:
对象污染绕过漏洞(CVE-2013-2065):受污染的字符串可以通过系统调用来使用,而不受 Ruby 中$SAFE 级别设置约束。
受影响的版本:
- Ruby 1.9.3 p426 之前的所有 1.9.x 版本
- Ruby 2.0.0 p195 之前的所有 2.0 版本
- trunk 40728 之前的版本
- Ruby 1.8 版本不受影响
如果你不能升级 Ruby,下面这个“猴子补丁”可以作为一种变通方案:
class Fiddle::Function alias :old_call :call def call (*args) if $SAFE >= 1 && args.any? { |x| x.tainted? } raise SecurityError, "tainted parameter not allowed" end old_call (*args) end end
此外,这两个版本还进行了一些优化,修复了一些小的 bug,详细信息:1. 9.3 p429 changeLog、2. 0.0 p195 changeLog
下载地址:
- ruby-1.9.3-p429:ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p429.zip
- ruby-2.0.0-p195:ftp://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p195.zip
来自: www.iteye.com