博主呓语:

Ruby DL Fiddle发现安全漏洞 1.9/2.0 全分支受影响

Posted by 破冰 on 2013-5-16 11:46 Thursday
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 changeLog2.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

发表评论: