exp-容器&中间件 ·

Java RMI 服务远程方法调用漏洞

详细描述

Java RMI服务是远程方法调用(Remote Method Invocation)。它是一种机制,能够让在某个java虚拟机上的对象调用另一个Java虚拟机的对象的方法。 在Java Web中,很多地方都会用到RMI来相互调用。比如很多大型组织都会在后台部署一些Java应用,用于对外网站发布更新的静态页面,而这种发布命令的下达使用的就是这种RMI形式。 值得注意的是,RMI传输过程必然会使用序列化和反序列化,如果RMI服务端端口对外开发,并且服务端使用了像Apache Commons Collections这种库,那么会导致远程命令执行。

解决办法

临时解决方法: 如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:

  • *使用防火墙规则及文件系统访问限制 * 使用 SerialKiller 替换进行序列化操作的 ObjectInputStream 类
  • * 删除掉项目里的“org/apache/commons/collections/functors/InvokerTransformer.class” 文件 厂商补丁: Apache Group ------------ 目前厂商已经发布了升级补丁ACC 3.2.2 以修复这个安全问题。

请到厂商的主页下载:

  1. https://commons.apache.org/proper/commons-collections/download_collections.cgi
  2. http://svn.apache.org/viewvc?view=revision&revision=1713307
  3. https://commons.apache.org/proper/commons-collections/
  4. https://blogs.apache.org/foundation/entry/apache_commons_statement_to_widespread

发现日期

2015-12-10

测试工具

文末附下载

相关下载

点击下载

参与评论