Apache Dubbo漏洞補丁繞過
2020年6月29日,阿里雲應急響應中心監測到 CVE-2020-1948 Apache Dubbo反序列化漏洞補丁存在缺陷,可以繞過原有補丁並執行任意指令。
時間線
· 2020.06.23 監測到 CVE-2020-1948 Apache Dubbo反序列化漏洞
· 2020.06.29 監測到 CVE-2020-1948 Apache Dubbo反序列化漏洞 補丁繞過
漏洞描述
Apache Dubbo是一種基於Java的高性能RPC框架。Apache Dubbo官方披露在Dubbo Provider中存在一個反序列化遠程代碼執行漏洞(CVE-2020-1948),攻擊者可以構造併發送帶有惡意參數負載的RPC請求,當惡意參數被反序列化時將導致遠程代碼執行。
目前,2.7.7版本的官方補丁中存在缺陷,攻擊者可以繞過並執行任意指令,危害極大。
漏洞影響範圍
· Apache Dubbo 2.7.0~2.7.7
· Apache Dubbo 2.6.0~2.6.7
· Apache Dubbo 2.5.x系列所有版本(官方不再提供支持)
安全建議
目前官方還未發佈針對此漏洞繞過手法的補丁,建議客戶參考以下方法進行緩解,並關注官方補丁動態,及時進行更新:
-
1. 升級至2.7.7版本,並根據https://github.com/apache/dubbo/pull/6374/commits/8fcdca112744d2cb98b349225a4aab365af563de的方法進行參數校驗
-
2. 禁止將Dubbo服務端端口開放給公網,或僅僅只對能夠連接至Dubbo服務端的可信消費端IP開放
-
Dubbo協議默認採用Hessian作爲序列化反序列化方式,該反序列化方式存在反序列化漏洞。在不影響業務的情況下,建議更3. 換協議以及反序列化方式。具體更換方法可參考:http://dubbo.apache.org/zh-cn/docs/user/references/xml/dubbo-protocol.html