【安全通告】Apache Dubbo Provider默认反序列化远程代码执行漏洞公告(CVE-2020-1948)
摘要:
尊敬的腾讯云用户,您好!
近日,腾讯云安全运营中心监测到Apache Dubbo披露了Provider默认反序列化远程代码执行漏洞(CVE-2020-1948),攻击者可构造恶意请求执行任意代码。
为避免您的业务受影响,腾讯云安全建议您及时开展安全自查,如在受影响范围,请您及时进行更新修复,避免被外部攻击者入侵。
漏洞详情
Apache Dubbo 是一种基于 Java 的高性能 RPC 框架。该项目于 2011 年开源,并于 2018 年 2 月进入 Apache 孵化器,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。
腾讯安全玄武实验室研究员发现,Dubbo 2.7.6或更低版本存在反序列化代码执行漏洞,攻击者可以发送不存在的服务名或方法名的RPC请求,同时配合附加恶意的参数负载。当恶意参数被反序列化时,它将执行一些恶意代码。
风险等级
高风险
漏洞风险
攻击者可向受影响服务器发送恶意请求,获取服务器权限
影响版本
Apache Dubbo 2.7.0 ~ 2.7.6
Apache Dubbo 2.6.0 ~ 2.6.7
Apache Dubbo 2.5.x 所有版本 (官方不再提供支持)
安全版本
Apache Dubbo 2.7.7 或更高版本
自查方法
因无法直接通过与该服务交互来判断Dubbo的版本,所以建议用户通过排查Dubbo所使用的注册中心(如:zookeeper, redis, nacos等)中所标示的Dubbo服务端版本号来确定,由此来做对应的防护以及修复处理。
修复建议
1. 推荐修复方案:
目前官方已发布漏洞修复版本,腾讯云安全建议您尽快更新到安全版本,下载地址:https://github.com/apache/dubbo/releases/tag/dubbo-2.7.7
2. 临时缓解方案:
a) 配置安全组限制服务器出流量
由于当前存在的反序列化利用链大多需要远程加载恶意类,如果没有特殊需求,建议在不影响业务的情况下将服务器配置出外网限制。
b) 配置IP白名单,只允许可信源访问
建议用户将能够连接至Dubbo服务端的消费端IP加入到可信IP白名单里,并在服务端配置可信IP白名单,以防止攻击者在外部直接发起连接请求。
c) 更换默认的反序列化方式
Dubbo协议默认采用Hessian作为序列化反序列化方式,而Hessian存在危险的反序列化漏洞。用户可以在考虑不影响业务的情况下更换协议以及反序列化方式,如:rest,grpc,thrift等。
d) 关闭公网端口
不要将Dubbo服务端的开放端口暴露在公网,但需要注意这种场景若攻击者在内网环境仍然可以进行攻击
【备注】:建议您在升级前做好数据备份工作,避免出现意外