Ruby 脚本语言文件多个函数包含远程代码执行漏洞

来源:岁月联盟 编辑:zhuzhu 时间:2009-01-30
Ruby 脚本语言文件多个函数包含远程代码执行漏洞 受影响系统:
Yukihiro Matsumoto Ruby 1.9.x
Yukihiro Matsumoto Ruby 1.8.x

不受影响系统:
Yukihiro Matsumoto Ruby 1.9.0-2
Yukihiro Matsumoto Ruby 1.8.7-p22
Yukihiro Matsumoto Ruby 1.8.6-p230
Yukihiro Matsumoto Ruby 1.8.5-p231

描述:
Ruby是一种功能强大的面向对象的脚本语言。

Ruby的array.c文件中的ary_new()、rb_ary_initialize()、rb_ary_store()、rb_ary_times()和rb_ary_splice()函数中存在多个整数溢出漏洞,如果远程安全者向这些函数提交了超长参数的话,就可以触发溢出,导致执行任意指令。

Ruby的rb_str_buf_append()函数没有正确的调用alloca(),如果远程安全者提交了恶意参数的话,就可能触发整数溢出,导致执行任意指令。

厂商补丁:
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.5-p231.tar.gz
ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6-p230.tar.gz
ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p22.tar.gz
ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.0-2.tar.gz