原文名:Oracle WebLogic远程命令执行0day漏洞(CVE-2019-2725补丁绕过)
概述
近日,奇安信天眼与安服团队通过数据监控发现,野外出现Oracle WebLogic远程命令执行漏洞最新利用代码,此攻击利用绕过了厂商今年4月底所发布的最新安全补丁(CVE-2019-2725)。
由于该WAR包在反序列化处理输入信息时存在缺陷,攻击者可以发送精心构造的恶意 HTTP 请求,在未授权的情况下远程执行命令,获得目标服务器的权限。目前,该漏洞已出现野外的利用,但官方尚未给出相应的补丁,处于0day状态。奇安信威胁情报中心已经通知厂商此问题的存在,相信很快会有相应的新补丁,在此我们强烈建议用户采取建议的临时处置措施免受漏洞的影响。
漏洞技术细节
危害级别:【高危】
受影响版本:
WebLogic 10.3.6.0
WebLogic 12.1.3
技术细节:
通过CVE-2019-2725补丁分析发现,较上一个漏洞CVE-2017-10271补丁而言,官方新增了对class元素的过滤,并且array元素的length属性转换为整形后不得大于10000:
本次漏洞利用某个元素成功替换了补丁所限制的<class>元素,再次绕过了补丁黑名单策略,最终造成远程命令执行。
临时解决方案
由于目前厂商还未提供漏洞相应的官方补丁,建议采取如下临时措施规避漏洞导致的风险:
l 配置URL访问控制策略
部署于公网的WebLogic服务器,可通过ACL禁止对/_async/*及/wls-wsat/*路径的访问。
l 删除不安全文件
删除wls9_async_response.war与wls-wsat.war文件及相关文件夹,并重启Weblogic服务。具体文件路径如下:
10.3.*版本:
Middlewarewlserver_10.3serverlib
%DOMAIN_HOME%serversAdminServer mp_WL_internal
%DOMAIN_HOME%serversAdminServer mp.internal
12.1.3版本:
MiddlewareOracle_Homeoracle_commonmodules
%DOMAIN_HOME%serversAdminServer mp.internal
%DOMAIN_HOME%serversAdminServer mp_WL_internal
注:wls9_async_response.war及wls-wsat.war属于一级应用包,对其进行移除或更名操作可能造成未知的后果,Oracle官方不建议对其进行此类操作。若在直接删除此包的情况下应用出现问题,将无法得到Oracle产品部门的技术支持。请用户自行进行影响评估,并对此文件进行备份后,再执行此操作。
建议使用WebLogic Server构建网站的信息系统运营者进行自查,发现存在漏洞后,按照临时解决方案及时进行修复。请密切关注Oracle官方7月补丁通告。
l 禁用bea_wls9_async_response组件
用户可通过在weblogic启动参数中禁用bea_wls9_async_response的方式,对此漏洞形成临时防护。
在禁用不安全组件前,需请开发人员确认应用系统是否使用了weblogic提供的异步WebService功能,排查方法请附录章节。如果确认没有使用,可以使用如下方式禁用此功能:
a)以windows系统为例,在启动文件(%DOMAIN_HOME%instartWeblogic.cmd)中加如下参数:
set JAVA_OPTIONS=%JAVA_OPTIONS% -Dweblogic.wsee.skip.async.response=true
set JAVA_OPTIONS=%JAVA_OPTIONS% -Dweblogic.wsee.wstx.wsat.deployed=false
b) 对应用程序进行严格测试。
c)测试结果没有问题后,重启Weblogic服务,使参数生效。