oracle weblogic server远程代码执行漏洞
  • cnnvd编号:未知
  • 危害等级: 高危 
  • cve编号:cve-2021-2109
  • 漏洞类型: 远程代码执行
  • 威胁类型:未知
  • 厂       商:未知
  • 漏洞来源:深信服
  • 发布时间:2021-01-22
  • 更新时间:2021-01-22

漏洞简介

1、组件介绍

weblogic是美国oracle公司出品的一个application server,确切的说是一个基于javaee架构的中间件,weblogic是用于开发、集成、部署和管理大型分布式web应用、网络应用和数据库应用的java应用服务器。

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

2、漏洞描述

weblogic远程代码执行漏洞(cve-2021-2109)在oracle官方在2021年1月份发布的最新安全补丁中披露。经过身份验证的攻击者可以通过构造恶意ldap请求利用该漏洞,成功利用此漏洞可能接管oracle weblogic server。

3、漏洞分析

该漏洞触发点位于weblogic server管理后台的jndi绑定页面,在consolejndi.portal文件中搜索jndibindingpagegeneral,发现该label指向jndibinding.portlet文件。


找到jndibinding.portlet文件,文件很短,但发现一个关键信息,即定义了来自该label页面的请求由哪个类处理,由此找到了触发console操作的action。


进入jndibindingaction类,发现了jdni注入攻击的关键点lookup函数,但是这里有两点需要注意:

1、lookup处于一个判断条件中,要想判断条件为真,需要保证servermbean不为null

2、lookup参数为context和bindname拼接后的值,想要造成攻击需要控制这两个参数。


接下来一一构造两个条件。第一个条件需要找到合适的servermbean值,首先寻找servermbean值的来源,发现由domainmbean.lookupserver获取,在该函数下断点得到servermbean值。


此时第一个条件已经满足,此servername应该就是weblogic server配置中的服务器名称,在此是默认值adminserver。接下来构造第二个条件,由于lookup参数由context和bindname拼接,需要寻找如何控制这两个参数。


前面可以看到context和bindname分别由getcontext和getbinding函数获取,跟进发现两个函数内部都是由getcomponent来获取,继续跟进。

在getcomponent内部发现,这个函数就是把由getobjectidentifier()接收到的值用分号作为分隔符取值,因此在构造poc之时,首先要用分号分隔poc,又因为拼接context和bindname时会自动加一个.,所以可以将恶意类地址中的一个ip分隔的点换为分号。最终poc的构造就是前两个值分别是context和bindname,分别对应ldap恶意地址的两段,然后再接分号,拼接最后一个值为servermbean也就是前面说的adminserver。

漏洞公示

搭建weblogic 12.2.1.3.0环境,发送精心构造的恶意请求,在weblogic服务器端成功执行了命令:

参考网站

暂无

受影响实体

目前受影响的weblogic版本:

weblogic server 10.3.6.0.0

weblogic server 12.1.3.0.0

weblogic server 12.2.1.3.0

weblogic server 12.2.1.4.0

weblogic server 14.1.1.0.0

补丁

1、官方修复建议

目前厂商已发布升级补丁以修复漏洞,补丁获取链接:

2、深信服正规网赌十大娱乐棋牌的解决方案

深信服下一代防火墙】可轻松防御此漏洞, 建议部署深信服下一代防火墙的用户更新至最新的安全防护规则,可轻松抵御此高危风险。

深信服云】已第一时间从云端自动更新防护规则,云盾用户无需操作,即可轻松、快速防御此高危风险。

深信服安全感知平台】可检测利用该漏洞的攻击,实时告警,并可联动【深信服下一代防火墙等产品】实现对攻击者ip的封堵。

深信服安全运营服务】深信服云端安全专家提供7*24小时持续的安全运营服务。在漏洞爆发之初,云端安全专家即对客户的网络环境进行漏洞扫描,保障第一时间检查客户的主机是否存在此漏洞。对存在漏洞的用户,检查并更新了客户防护设备的策略,确保客户防护设备可以防御此漏洞风险。

深信服安全云眼】在漏洞爆发之初,已完成检测更新,对所有用户网站探测,保障用户安全。不清楚自身业务是否存在漏洞的用户,可注册信服云眼账号,获取30天免费安全体验。

注册地址:http://saas.sangfor.com.cn

深信服云镜】在漏洞爆发第一时间即完成检测能力的发布,部署云端版云镜的用户只需选择紧急漏洞检测,即可轻松、快速检测此高危风险。部署离线版云镜的用户需要下载离线更新包来获取该漏洞的检测能力。