首页 -> 安全研究

安全研究

安全漏洞
Ruby DL和Fiddle模块已污染对象处理漏洞

发布日期:2013-05-15
更新日期:2013-05-16

受影响系统:
Ruby Ruby 2.0.x
Ruby Ruby 1.9.x
不受影响系统:
Ruby Ruby 1.8.x
描述:
CVE(CAN) ID: CVE-2013-2065

Ruby,一种为简单快捷的面向对象编程(面向对象程序设计)而创的脚本语言,在20世纪90年代由日本人松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)开发,遵守GPL协议和Ruby License。

Ruby 1.9.x、2.0.x的DL和Fiddle模块在处理某些对象时,没有正确验证$SAFE层,可导致传递已污染的字符串到系统调用。

<*来源:vendor
  
  链接:http://secunia.com/advisories/53432/
        http://www.ruby-lang.org/en/news/2013/05/14/taint-bypass-dl-fiddle-cve-2013-2065/
*>

建议:
临时解决方法:

如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下monkey patch以降低威胁:

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

厂商补丁:

Ruby
----
Ruby已经为此发布了一个安全公告(taint-bypass-dl-fiddle-cve-2013-2065)以及相应补丁:
taint-bypass-dl-fiddle-cve-2013-2065:Object taint bypassing in DL and Fiddle in Ruby (CVE-2013-2065)
链接:http://www.ruby-lang.org/en/news/2013/05/14/taint-bypass-dl-fiddle-cve-2013-2065/

浏览次数:4161
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障