本文主要是介绍关于Oracle WebLogic Server远程代码执行漏洞的通报,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
要了解Oracle Weblogic Server远程代码执行漏洞,需要了解一下Weblogic T3协议:
T3也称为丰富套接字,是BEA内部协议,功能丰富,可扩展性好。T3是多工双向和异步协议,经过高度优化,只使用一个套接字和一条线程。借助这种方法,基于Java的客户端可以根据服务器方需求使用多种RMI对象,但仍使用一个套接字和一条线程。
WebLogic Server 中的 RMI(远程方法调用) 通信使用 T3 协议在 WebLogic Server 和其他 Java 程序(包括客户端及其他 WebLogic Server 实例)间传输数据。服务器实例将跟踪所连接的每个 Java 虚拟机(Java Virtual Machine,简称 JVM),并创建单个 T3 连接以承担 JVM 的所有流量。请参阅“管理控制台联机帮助”中的配置 T3 协议。
例如,如果 Java 客户端访问 WebLogic Server 上的企业 Bean 和 JDBC 连接缓冲池,那么 WebLogic Server JVM 和客户端 JVM 之间就会建立起单个网络连接。因为 T3 协议能在单个连接上隐性地多路复用数据包,所以可以编写 EJB 和 JDBC 服务,就好像这些服务单独使用了专用网络连接。
具有有效 T3 连接的任意两个 Java 程序(例如两个服务器实例,或者一个服务器实例和一个 Java 客户端)都使用定期的点对点“心跳”来通知和确定连续可用性。每个端点定期向对等方发布“心跳”,同样也通过连续接收对等方的心跳,确定对等方是否仍然可用。
服务器实例的心跳发布频率由心跳间隔确定,默认情况下,心跳间隔是 60 秒。 建议您不要更改超时默认值。
在等候缺少的心跳次数达到一定数量后,服务器实例将认定对等方不可用。次数由心跳时间段确定,默认次数为 4 次。因此,每个服务器实例最多等待 240 秒,或 4 分钟,若在此期间没有收到对等方的消息(心跳或其他通信),服务器实例将认定对等方不可用。
漏洞描述:
近日,国家信息安全漏洞库(CNNVD)收到Oracle WebLogic Server远程代码执行漏洞(CNNVD-201810-781、CVE-2018-3245)情况的报送。攻击者可利用该漏洞在未授权的情况下发送攻击数据,通过T3协议在WebLogic Server中执行反序列化操作,最终实现远程代码执行。WebLogic Server 10.3.6.0、12.1.3.0、12.2.1.2、12.2.1.3等版本均受漏洞影响。目前, Oracle官方已经发布补丁修复了漏洞,建议用户及时确认是否受到漏洞影响,尽快采取修补措施。
一、漏洞介绍
Oracle WebLogic Server是美国甲骨文(Oracle)公司开发的一款适用于云环境和传统环境的应用服务中间件,它提供了一个现代轻型开发平台,支持应用从开发到生产的整个生命周期管理,并简化了应用的部署和管理。
Oracle WebLogic Server存在远程代码执行漏洞(CNNVD-201810-781、CVE-2018-3245)。该漏洞通过JRMP协议利用RMI机制的缺陷达到远程代码执行的目的。攻击者可以在未授权的情况下将payload封装在T3协议中,通过对T3协议中的payload进行反序列化,从而实现对存在漏洞的WebLogic组件进行远程攻击,执行任意代码,并获取目标系统的所有权限。
二、危害影响
攻击者可利用漏洞在未授权的情况下发送攻击数据,通过T3协议在WebLogic Server中执行反序列化操作,最终实现远程代码执行。该漏洞涉及了多个版本,具体受影响版本如下:
Oracle WebLogic Server 10.3.6.0 Oracle WebLogic Server 12.1.3.0 Oracle WebLogic Server 12.2.1.2 Oracle WebLogic Server 12.2.1.3 |
三、修复建议
目前, Oracle官方已经发布补丁修复了漏洞,建议用户及时确认是否受到漏洞影响,尽快采取修补措施。
1、Oracle官方更新链接如下:
https://www.oracle.com/technetwork/security-advisory/cpuoct2018-4428296.html
2、临时解决方案
通过设置weblogic.security.net.ConnectionFilterImpl默认连接筛选器,对T3/T3s协议的访问权限进行配置,阻断漏洞利用途径。具体如下:
(a)进入WebLogic控制台,在base_domain的配置页面中,进入“安全”选项卡页面,点击“筛选器”,进入连接筛选器配置。
(b)在连接筛选器中输入:WebLogic.security.net.ConnectionFilterImpl,在连接筛选器规则中输入:* * 7001 deny t3 t3s
(c)保存后重新启动即可生效。
这篇关于关于Oracle WebLogic Server远程代码执行漏洞的通报的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!