XMLRPC.iPIMethods 漏洞

2005 年 6 月 17 日星期五,在 [ruby-core:05237] 中报告了 XMLRPC.iPIMethods 的一个漏洞。远程攻击者可以通过此漏洞执行任意命令。

受影响的程序

通过 XMLRPC.iPIMethods 提供 XML-RPC 服务的程序会受到影响。

修复

此漏洞已在 CVS HEAD 和 ruby_1_8 分支中修复。

请将此补丁应用于 ruby-1.8.2。

  • www.ruby-lang.org/patches/ruby-1.8.2-xmlrpc-ipimethods-fix.diff
--- ruby-1.8.2/lib/xmlrpc/utils.rb.orig 2003-08-15 02:20:14.000000000 +0900
+++ ruby-1.8.2/lib/xmlrpc/utils.rb      2005-07-01 16:33:19.243521736 +0900
@@ -138,7 +138,7 @@
 
     def get_methods(obj, delim=".")
       prefix = @prefix + delim
-      obj.class.public_instance_methods.collect { |name|
+      obj.class.public_instance_methods(false).collect { |name|
         [prefix + name, obj.method(name).to_proc, nil, nil] 
       }
     end