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-FastJson-Gadget — Basic code for creating the Alibaba FastJson + Spring gadget chain, as used to exploit Apache Dubbo in CVE-2019-17564 - more information available at https://www.checkmarx.com/blog/apache-dubbo-unauthenticated-remote-code-execution-vulnerability | Kitploit
Tools/GitHubGitHub/dor-tumarkin/cve-2019-17564-fastjson-gadget
Payload GenerationVulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationPenetration Testing
GitHubdor-tumarkin/cve-2019-17564-fastjson-gadget

CVE-2019-17564-FastJson-Gadget

Basic code for creating the Alibaba FastJson + Spring gadget chain, as used to exploit Apache Dubbo in CVE-2019-17564 - more information available at https://www.checkmarx.com/blog/apache-dubbo-unauthenticated-remote-code-execution-vulnerability

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
View Repository
16223 years agoNot yet reviewed
Share

CVE-2019-17564 FastJson + SpringFramework Gadget for Dubbo 2.7.3

Our full write-up is available at https://www.checkmarx.com/blog/apache-dubbo-unauthenticated-remote-code-execution-vulnerability

Note that this is not an exploit; it is a POC gadget chain used in an exploit used to demonstrate deserialization in scopes containing certain dependencies.

Overview

Basic code for creating the Alibaba FastJson + Spring gadget chain, as used to exploit Apache Dubbo in CVE-2019-17564. This code will print, and locally deserialize, a gadget based on dependencies available in the scope of Dubbo 2.7.3, Dubbo Common 2.7.3, and Spring Framework

Gadget Chain Structure

  1. HashMap.putVal(h,k,v) a. The result of hashCode(), h, is identical for HotSwappableTargetSource objects, triggering a deeper equals() call on HashMap keys when a second value is inserted
  2. HotSwappableTargetSource.equals()
  3. XString.equals()
  4. com.alibaba.fastjson.JSON.toString()
  5. com.alibaba.fastjson.JSON.toJSONString()
  6. com.alibaba.fastjson.serializer.MapSerializer.write()
  7. TemplatesImpl.getOutputProperties()
  8. TemplatesImpl.newTransformer()
  9. TemplatesImpl.getTransletInstance()
  10. TemplatesImpl.defineTransletClasses()
  11. ClassLoader.defineClass()
  12. Class.newInstance()
  13. MaliciousClass.()
  14. Runtime.exec()

Credits

Credits are in order to Chris Frohoff and Moritz Bechler for their research and tools (ysoserial and marshalsec), as some of their code was used in the gadget chain, and their research laid the foundation for this exploit.

Credits are also in order to Checkmarx, who enable this type of research, and our fantastic research group for pitching ideas, reviewing, and bearing the fact that I won't shut up about this type of stuff.

Download Tool