Advisory Database
  • Advisories
  • Dependency Scanning
  1. maven
  2. ›
  3. org.clojure/clojure
  4. ›
  5. CVE-2017-20189

CVE-2017-20189: Clojure classes can be used to craft a serialized object that runs arbitrary code on deserialization

January 22, 2024 (updated November 4, 2025)

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

  • clojure.atlassian.net/browse/CLJ-2204
  • github.com/advisories/GHSA-jgxc-8mwq-9xqw
  • github.com/clojure/clojure
  • github.com/clojure/clojure/commit/271674c9b484d798484d134a5ac40a6df15d3ac3
  • github.com/frohoff/ysoserial/pull/68/files
  • groups.google.com/d/msg/clojure/WaL3hHzsevI/7zHU-L7LBQAJ
  • hackmd.io/%40fe1w0/HyefvRQKp
  • nvd.nist.gov/vuln/detail/CVE-2017-20189
  • security.netapp.com/advisory/ntap-20241108-0002
  • security.snyk.io/vuln/SNYK-JAVA-ORGCLOJURE-5740378

Code Behaviors & Features

Detect and mitigate CVE-2017-20189 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →

Affected versions

All versions before 1.9.0

Fixed versions

  • 1.9.0

Solution

Upgrade to version 1.9.0 or above.

Impact 9.8 CRITICAL

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Learn more about CVSS

Weakness

  • CWE-502: Deserialization of Untrusted Data

Source file

maven/org.clojure/clojure/CVE-2017-20189.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Thu, 06 Nov 2025 12:19:34 +0000.