"Java 反序列化"过程远程命令执行漏洞

一、漏洞描述

 

国外 FoxGlove 安全研究团队于2015年11月06日在其博客上公开了一篇关于常见 Java 应用如何利用反序列化操作进行远程命令执行的文章。原博文所提到的 Java 应用都使用了 Apache Commons Collections 这个库,并且都存在一个序列化对象数据交互接口能够被访问到。针对每个应用,博文都提供了相应的分析和验证代码来说明 Java 应用存在远程命令执行的普遍性。

 

 

二、漏洞危害

 

机器上一旦有使用上述应用,即处于“裸奔”状态,黑客可随时利用此漏洞执行任意系统命令,完全控制机器,破坏或窃取机器上的数据。

 

三、已确认被成功利用的软件及系统  

 

使用了 Apache Commons Collections 这个库的应用理论上都受到漏洞影响。目前已被证实受影响的应用:

 

  • WebSphere

  • WebLogic

  • JBoss

  • Jenkins

  • OpenNMS

 

四、建议修复方案

 

官方尚未为此漏洞发布补丁,所以无法通过应用升级等方法修复漏洞。

临时解决方案:

1、使用 SerialKiller 替换进行序列化操作的 ObjectInputStream 类。

2、在不影响业务的情况下,临时删除掉项目里的 "org/apache/commons/collections/functors/InvokerTransformer.class" 文件。

3、把受漏洞影响的应用访问路径进行隐藏,如改成随机生成的字符串。

你可能感兴趣的:("Java 反序列化"过程远程命令执行漏洞)