预警编号:NS-2019-0021
2019-06-16
TAG: | Oracle、Weblogic、远程代码执行、wls9-async、wls-wsat、CNVD-C-2019-48814、CVE-2019-2725 |
---|---|
危害等级: | 高,监测到CVE-2019-2725漏洞补丁存在绕过方式,可造成远程代码执行。 |
版本: | 1.0 |
1
漏洞概述
近日,绿盟科技安全团队发现针对Oracle Weblogic的在野漏洞利用,攻击特征与CVE-2019-2725类似。此攻击可以绕过Oracle官方在4月份发布的最新安全补丁。由于在处理反序列化信息时没有合理进行过滤,攻击者可以通过发送精心构造的恶意HTTP请求来利用该漏洞,从而获取服务器权限并在未授权情况下远程执行任意代码。
SEE MORE →
2影响范围
受影响版本
此漏洞影响启用bea_wls9_async_response组件及wls-wsat组件的所有Weblogic版本。此次出现的绕过方式出现在低于jdk7的java版本上。
3漏洞排查
3.1 不安全组件启用状态排查
wls9_async_response为异步通讯服务组件,用户可通过访问路径/_async/AsyncResponseService,判断该组件是否开启。若返回如下页面,则此组件开启。请相关用户引起关注,及时采取防护措施。
用户可通过访问路径 /wls-wsat/CoordinatorPortType,判断wls-wsat组件是否开启。若返回如下页面,则此组件开启。请相关用户引起关注,及时采取防护措施。
4漏洞防护
4.1 产品防护
绿盟科技防护产品已具备对此漏洞的防护能力。绿盟科技WEB应用防护系统(WAF)已根据最新出现的攻击特征对规则进行了优化更新,并发布自定义规则防护方案。强烈建议相关用户升级至最新规则,并参考下列【临时自定义防护规则】进行配置,完全防护此漏洞。安全防护产品规则版本号如下:
安全防护产品 | 规则版本号 | 升级包下载链接 | 规则编号 |
---|---|---|---|
IPS | 5.6.8.774 | http://update.nsfocus.com/update/downloads/id/28238 | 【24469】 |
5.6.9.20383 | http://update.nsfocus.com/update/downloads/id/28996 | ||
5.6.10.20383 | http://update.nsfocus.com/update/downloads/id/28997 | ||
WAF | 6.0.7.0.41634 | http://update.nsfocus.com/update/downloads/id/28937 | 【27526166】 |
6.0.5.1.41664 | http://update.nsfocus.com/update/downloads/id/29110 | ||
6.0.4.1.41662 | http://update.nsfocus.com/update/downloads/id/29109 |
规则升级的操作步骤详见如下链接:
IPS:https://mp.weixin.qq.com/s/JsRktENQNj1TdZSU62N0Ww
WAF:https://mp.weixin.qq.com/s/oubjPqR4DURWPvrQ9W9mWA
【临时自定义防护规则】
部署有绿盟科技WEB应用防护系统的用户可采用下述自定义规则,对新出现的补丁绕过攻击特征形成防护,具体步骤如下:
1、如下图所示,点击“安全管理”->“规则库管理”->“自定义”->“新建”。
2、按照下图进行规则配置。
名称填写:weblogic(可自定义填写)
检测对象填写:URI
匹配操作选择:正则包含
检测值填写:/wls-wsat|/_async
3、点击确定,并在站点和虚拟站点中应用该自定义规则。
4.2 临时防护方案
官方暂未发布针对此漏洞的修复补丁,在官方修复之前,可以采取以下方式进行临时防护。
4.2.1 升级java版本
用户可升级java版本至jdk7及以上,防护此漏洞。
在jdk7下,唯一能创建类的class已经加入了黑名单,所以在jdk7下不受此漏洞影响,这次的绕过出现在低于jdk7的java版本上。
4.2.2 配置URL访问控制策略
部署于公网的用户,可通过访问控制策略禁止对/_async/*及/wls-wsat/*路径的访问。
4.2.3 删除不安全文件
删除wls9_async_response.war、wls-wsat.war文件及相关文件夹,并重启Weblogic服务。具体文件路径如下:
版本号为10.3.*:
\Middleware\wlserver_10.3\server\lib\%DOMAIN_HOME%\servers\AdminServer\tmp\_WL_internal\%DOMAIN_HOME%\servers\AdminServer\tmp\.internal\ |
---|
版本号为12.1.3:
\Middleware\Oracle_Home\oracle_common\modules\%DOMAIN_HOME%\servers\AdminServer\tmp\.internal\%DOMAIN_HOME%\servers\AdminServer\tmp\_WL_internal\ |
---|
注:wls9_async_response.war及wls-wsat.war属于一级应用包,对其进行移除或更名操作可能造成未知的后果,Oracle官方不建议对其进行此类操作。若在直接删除此包的情况下应用出现问题,将无法得到Oracle产品部门的技术支持。请用户进行影响评估,并对此文件进行备份后,再执行此操作。
4.2.4 禁用bea_wls9_async_response及wls-wsat
用户可通过在weblogic启动参数中禁用bea_wls9_async_response的方式,对此漏洞形成临时防护。
在禁用不安全组件前,需请开发人员确认应用系统是否使用了weblogic提供的异步WebService功能,排查方法请附录章节。如果确认没有使用,可以使用如下方式禁用此功能:
1、 以windows系统为例,在启动文件(%DOMAIN_HOME%\bin\startWeblogic.cmd)中加如下参数:
set JAVA_OPTIONS=%JAVA_OPTIONS% -Dweblogic.wsee.skip.async.response=trueset JAVA_OPTIONS=%JAVA_OPTIONS% -Dweblogic.wsee.wstx.wsat.deployed=false |
---|
2、对应用程序进行严格测试。
3、测试结果没有问题后,重启Weblogic服务,使参数生效。
附录排查应用是否使用Weblogic异步WebService
请开发人员检查程序代码中是否引用了WebService相关的类:
weblogic.wsee.async.AsyncPreCallContext; weblogic.wsee.async.AsyncCallContextFactory; weblogic.wsee.async.AsyncPostCallContext;weblogic.jws.ServiceClient;weblogic.jws.AsyncResponse; weblogic.jws.AsyncFailure; |
---|
END
作者:绿盟科技安全服务部
声明
本安全公告仅用来描述可能存在的安全问题,绿盟科技不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,绿盟科技以及安全公告作者不为此承担任何责任。
绿盟科技拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经绿盟科技允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。