WebLogic反序列化远程命令执行(CNVD-C-2019-48814)漏洞预警

时间:2019-04-25 16:11:49来源:信息安全服务部作者:梦之想科技

WebLogic是美国Oracle公司出品的一个Application Server,确切的说是一个基于JAVAEE架构的中间件,是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。

WebLogic将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。是商业市场上主要的Java(J2EE)应用服务器软件(Application Server)之一,是世界上第一个成功商业化的J2EE应用服务器,具有可扩展性,快速开发,灵活,可靠性等优势。

漏洞简介

严重程度:高危

CVND 编号 :CNVD-C-2019-48814

影响版本:

Oracle WebLogic Server 10.X

Oracle WebLogic Server 12.1.3

漏洞成因

4月17日,国家信息安全漏洞共享平台(CNVD)公开了Weblogic反序列化远程代码执行漏洞(CNVD-C-2019-48814),此漏洞存在于Weblogic自带的wls9_async_response.war组件及wls-wsat组件中,由于在反序列化处理输入信息的过程中存在缺陷,未经授权的攻击者可以发送精心构造的恶意HTTP请求,获取服务器权限,实现远程代码执行。

漏洞危害

可直接访问组件/_async/AsyncResponseService和/wls-wsat/CoordinatorPortType,若访问如下图所示,则此组件开启。请相关用户引起关注,及时采取防护措施。

若漏洞被成功利用,可导致远程命令执行,攻击者可以进而获得整台服务器的权限。

 未标题-3.jpg

漏洞检测POC:

 未标题-4.jpg

利用上面的POC进行漏洞检测,如果返回值的HTTP头为HTTP/1.1 202 Accepted,则说明该漏洞存在。

 未标题-5.jpg

处置建议

官方暂未发布针对此漏洞的修复补丁,在官方修复之前,可以采取以下方式进行临时防护:

(1)配置URL访问控制策略

部署于公网的用户,可通过访问控制策略禁止对/_async/*及/wls-wsat/*路径的访问。

(2)删除不安全文件

删除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产品部门的技术支持。请用户进行影响评估,并对此文件进行备份后,再执行此操作。

(3)禁用bea_wls9_async_response及wls-wsat

用户可通过在weblogic启动参数中禁用bea_wls9_async_response及wls-wsat的方式,对此漏洞形成临时防护

在禁用不安全组件前,需请开发人员确认应用系统是否使用了weblogic提供的异步WebService功能,排查方法请附录章节。如果确认没有使用,可以使用如下方式禁用此功能:

1、以windows系统为例,在启动文件(%DOMAIN_HOME%\bin\startWeblogic.cmd)中加如下参数:

setJAVA_OPTIONS=%JAVA_OPTIONS%-Dweblogic.wsee.skip.async.response=true

setJAVA_OPTIONS=%JAVA_OPTIONS%-Dweblogic.wsee.wstx.wsat.deployed=false

 未标题-6.jpg

2、对应用程序进行严格测试。

3、测试结果没有问题后,重启Weblogic服务,使参数生效。