2020年2月13日,华为云安全团队监测到应用广泛的Apache Dubbo出现一个较为严重的漏洞:反序列化漏洞(漏洞编号:CVE-2019-17564)。攻击者利用该漏洞,可在目标网站上远程执行恶意代码,最终导致网站被控制、数据泄露等。目前,华为云Web应用防火墙(Web Application Firewall,WAF)提供了对该漏洞的防护。
一、漏洞原理
Apache Dubbo是一款应用广泛的高性能轻量级的Java 远程调用分布式服务框架,支持多种通信协议。当网站安装了Apache Dubbo并且启用http协议进行通信时,攻击者可以向网站发送POST请求,在请求里可以执行一个反序列化的操作,由于没有任何安全校验,这个反序列化过程可以执行任意代码。这里,序列化是指把某个编程对象转换为字节序列的过程,而反序列化是指把字节序列恢复为某个编程对象的过程。
二、影响的版本范围
漏洞影响的Apache Dubbo产品版本包括: 2.7.0~2.7.4、2.6.0~2.6.7、2.5.x 的所有版本。
三、防护方案
1、Apache Dubbo官方建议用户网站升级到安全的2.7.5版本。
2、如无法快速升级版本,或希望防护更多其他漏洞,可使用华为云WAF内置的防护规则对该漏洞进行防护,步骤如下:
1) 购买WAF。
2) 将网站域名添加到WAF中并完成域名接入。
3) 将Web基础防护的状态设置为“拦截”模式。