近日檢測到Apache Dubbo官方發(fā)布了CVE-2019-17564漏洞通告,360靈騰安全實驗室判斷漏洞等級為高鹉胖,利用難度低握玛,威脅程度高,影響面大甫菠。建議使用用戶及時安裝最新補丁挠铲,以免遭受黑客攻擊。
2020年2月13日寂诱,各云安全團隊也監(jiān)測到應用廣泛的 Apache Dubbo 出現一個較為嚴重的漏洞:反序列化漏洞(漏洞編號:CVE-2019-17564)拂苹。攻擊者利用該漏洞,可在目標網站上遠程執(zhí)行惡意代碼痰洒,最終導致網站被控制瓢棒、數據泄露等。目前丘喻,各云服務廠商的 Web 應用防火墻(Web Application Firewall音羞,WAF)都提供了對該漏洞的防護。
漏洞概述
Apache Dubbo 是一款應用廣泛的高性能輕量級的 Java 遠程調用分布式服務框架仓犬,支持多種通信協議嗅绰。它的高性能和輕量級且開源的 Java RPC 框架深受國內用戶喜愛。它提供了三大核心能力:面向接口的遠程方法調用,智能容錯和負載均衡以及服務自動注冊和發(fā)現窘面。當網站安裝了 Apache Dubbo 并且啟用 http 協議進行通信時翠语,攻擊者可以向網站發(fā)送 POST 請求,在請求里可以執(zhí)行一個反序列化的操作财边,由于沒有任何安全校驗肌括,這個反序列化過程可以執(zhí)行任意代碼。這里酣难,序列化是指把某個編程對象(如 gadgets)轉換為字節(jié)序列的過程谍夭,而反序列化是指把字節(jié)序列恢復為某個編程對象的過程。
Apache Dubbo支持多種協議憨募,當用戶選擇http協議進行通信時紧索,Apache Dubbo 在接受遠程調用的POST請求的時候會執(zhí)行一個反序列化的操作,當項目包中存在可用的gadgets時菜谣,由于安全校驗不當會導致反序列化執(zhí)行任意代碼珠漂。
漏洞詳情
漏洞分析,開始跟蹤
請求傳入org.apache.dubbo.rpc.protocol.http.HttpProtocol
中的handle
通過進一步跟蹤發(fā)現其傳入org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter
的readRemoteInvocation
在org.springframework.remoting.rmi.RemoteInvocationSerializingExporter
中尾膊,報文中post data部分為ois媳危,全程并沒有做任何安全過濾和檢查,直接進行readObject
方法
影響版本
2.7.0 <= Apache Dubbo <= 2.7.4
2.6.0 <= Apache Dubbo <= 2.6.7
Apache Dubbo = 2.5.x
漏洞檢測
僅影響在漏洞版本內啟用http協議的用戶:
<dubbo:protocol name =“ http” />
處置建議
1冈敛、升級版本
建議用戶升級到2.7.5以上
https://github.com/apache/dubbo/releases/tag/dubbo-2.7.5
升級方法 (Maven dependency)
<properties>
<dubbo.version>2.7.5</dubbo.version>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo</artifactId>
<version>${dubbo.version}</version>
</dependency>
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-dependencies-zookeeper</artifactId>
<version>${dubbo.version}</version>
<type>pom</type>
</dependency>
</dependencies>
詳細升級過程可參考官方的文檔:https://github.com/apache/dubbo
2待笑、如無法快速升級版本,或希望防護更多其他漏洞抓谴,可使用各云服務公司的 WA F內置的防護規(guī)則對該漏洞進行防護暮蹂,步驟如下:
- 購買 WAF。
- 將網站域名添加到 WAF 中并完成域名接入齐邦。
- 將 Web 基礎防護的狀態(tài)設置為“攔截”模式椎侠。
END
來源:安全客