Open-source package vulnerability · Maven
CVE-2017-20189: Clojure classes can be used to craft a serialized object that runs arbitrary code on deserialization
criticalCVSS 3.1 9.8GHSA-jgxc-8mwq-9xqw
In Clojure before 1.9.0, classes can be used to construct a serialized object that executes arbitrary code upon deserialization. This is relevant if a server deserializes untrusted objects.
Published Jan 22, 2024 · Updated Nov 4, 2025
Affected packages
org.clojure:clojure
- Ecosystem
- Maven
- Affected
- < 1.9.0
- Fixed in
- 1.9.0
- Check
mvn dependency:tree -Dincludes=org.clojure:clojure
Advisory details
From the GitHub Advisory Database (CC BY 4.0).
In Clojure before 1.9.0, classes can be used to construct a serialized object that executes arbitrary code upon deserialization. This is relevant if a server deserializes untrusted objects.
References
- https://nvd.nist.gov/vuln/detail/CVE-2017-20189
- https://github.com/frohoff/ysoserial/pull/68/files
- https://github.com/clojure/clojure/commit/271674c9b484d798484d134a5ac40a6df15d3ac3
- https://clojure.atlassian.net/browse/CLJ-2204
- https://hackmd.io/%40fe1w0/HyefvRQKp
- https://security.snyk.io/vuln/SNYK-JAVA-ORGCLOJURE-5740378
- https://groups.google.com/d/msg/clojure/WaL3hHzsevI/7zHU-L7LBQAJ
- https://security.netapp.com/advisory/ntap-20241108-0002
- https://github.com/advisories/GHSA-jgxc-8mwq-9xqw
How this page is made: the data panel comes from the GitHub Advisory Database, CISA’s KEV catalog, the NVD and FIRST EPSS, and updates twice a day. No analysis has been written for this entry yet. Methodology
