WaratekVRT Sign in

CVE-2017-20189 Clojure

Affected softwareClojure
Severity9.8 Critical CVSS 3.1 2 scores
Fixed in1.9.0
WeaknessDeserialization of untrusted data (CWE-502)
Published22 Jan 2024
Updated17 Jun 2026

Description

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.

Exploitation status

Proof of concept only

A proof of concept exists, but no reviewed exploit catalogue lists this CVE.

  • CISA KEV not listed
  • VulnCheck KEV not listed
  • CISA Vulnrichment exploitation: poc CISA recorded that an exploit has been demonstrated. Automatable: yes, technical impact: total.
  • Indexed PoC none indexed
  • EPSS 1.3% chance in 30 days

Waratek protection

Protected by Waratek

Waratek has a rule that blocks attacks on this vulnerability.

Decided by A vulnerability class already blocked by an ARMR security rule
Finding Protected by Waratek's ARMR deserialization security rule, which blocks this class of attack at the JVM level without a rule written for this CVE specifically. The CVE's weakness is CWE-502: Deserialization of Untrusted Data.
Candidate fix https://github.com/clojure/clojure/commit/271674c9b484d798484d134a5ac40a6df15d3ac3 : a commit: the change itself

How to mitigate CVE-2017-20189

Upgrade Clojure to 1.9.0 or later. Until you can, Waratek RASP blocks exploitation with its deserialization and process rules. It runs inside the Java application, with no code changes.

Waratek RASP Runtime protection for Java applications

CVSS

9.8 CRITICAL v3.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H 2 metrics

We show the highest score from the newest CVSS version. Scores from different versions can't be compared, and the first score listed is sometimes a 0.0 placeholder.

VersionScoreBandVectorAssignerType
CVSS 3.1 9.8 CRITICAL CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H NVD Primary published
CVSS 3.1 9.8 CRITICAL CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H CISA-ADP Secondary

Affected software and releases

Maven packages

Affected and fixed versions, from OSV.dev
PackageIntroducedFixedLast affected
org.clojure:clojure 0 1.9.0 unbounded

Products and versions

2 products, 2 version entries
SourceVendorProductSchemeAffected versions
nvd clojure clojure generic < 1.9.0
osv org.clojure clojure generic < 1.9.0

References

URLTags
https://github.com/clojure/clojure/commit/271674c9b484d798484d134a5ac40a6df15d3ac3 commit
https://github.com/frohoff/ysoserial/pull/68/files WEB
https://clojure.atlassian.net/browse/CLJ-2204 WEB
https://github.com/clojure/clojure PACKAGE
https://groups.google.com/d/msg/clojure/WaL3hHzsevI/7zHU-L7LBQAJ WEB
https://hackmd.io/%40fe1w0/HyefvRQKp WEB
https://security.netapp.com/advisory/ntap-20241108-0002 WEB
https://security.snyk.io/vuln/SNYK-JAVA-ORGCLOJURE-5740378 WEB
https://security.netapp.com/advisory/ntap-20241108-0002/

Timeline

Published2024-01-22By the CVE Program.
NVD record modified2026-06-17NVD's own last-modified date for this record.