近日檢測到Apache Dubbo官方發佈了CVE-2019-17564漏洞通告,360靈騰安全實驗室判斷漏洞等級為高,利用難度低,威脅程度高,影響面大。建議使用用戶及時安裝最新補丁,以免遭受黑客攻擊。
0x00 漏洞概述
Apche Dubbo是一款高性能、輕量級的開源Java RPC框架。它提供了三大核心能力:面向接口的遠程方法調用,智能容錯和負載均衡以及服務自動註冊和發現。
Apache Dubbo支持多種協議,當用戶選擇http協議進行通信時,Apache Dubbo 在接受遠程調用的POST請求的時候會執行一個反序列化的操作,當項目包中存在可用的 gadgets時,由於安全校驗不當會導致反序列化執行任意代碼。
0x01 漏洞詳情
漏洞分析,開始跟蹤
請求傳入 org.apache.dubbo.rpc.protocol.http.HttpProtocol中的 handle
通過進一步跟蹤發現其傳入 org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter的 readRemoteInvocation
在 org.springframework.remoting.rmi.RemoteInvocationSerializingExporter中,報文中post data部分為ois,全程並沒有做任何安全過濾和檢查,直接進行 readObject方法
最終導致命令執行
0x02 影響版本
2.7.0 <= Apache Dubbo <= 2.7.4
2.6.0 <= Apache Dubbo <= 2.6.7
Apache Dubbo = 2.5.x
0x03 漏洞檢測
僅影響在漏洞版本內啟用http協議的用戶:<dubbo>
0x03 處置建議
1、 建議用戶升級到2.7.5以上:https://github.com/apache/dubbo/releases/tag/dubbo-2.7.5
2、升級方法 Maven dependency
<code><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> /<code>
詳細升級過程可參考官方的文檔:https://github.com/apache/dubb
閱讀更多 編程技匠 的文章