VRT 391,192 CVEs tracked · 15,442 in RASP scope · data as of 19 hours ago

CVE-2017-20189

9.8 Critical Protected by RASP

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.

CWE-502 · Deserialization of untrusted data

Exploitation Status

Proof of concept only

A proof of concept exists, but no reviewed exploit catalogue carries this CVE. Demonstrating a defect and weaponising it are different amounts of work.

CVSS E:P

  • CISA KEV not listed
  • CISA Vulnrichment exploitation: poc CISA concluded an exploit has been demonstrated, typically from a vendor advisory, which leaves no artifact to index. Automatable: yes, technical impact: total.
  • Indexed PoC none indexed
  • EPSS 1.3% chance in 30 days

Waratek Defense Posture

Protected by RASP

A Waratek agent blocks this today.

Applicable rule: Promoted to MITIGATED-BY-RASP (security rule): this CVE's weakness (CWE-502: Deserialization of Untrusted Data) can be mitigated by an ARMR deserialization security rule that blocks this class of attack at the JVM level, without requiring a CVE-specific patch.

  • Protection full a general security rule for the vulnerability class
  • Action available security rule
  • Review automated inferred
  • Record active
Decided by secure-rule-match : A vulnerability class already blocked by an ARMR security rule
Finding Promoted to MITIGATED-BY-RASP (security rule): this CVE's weakness (CWE-502: Deserialization of Untrusted Data) can be mitigated by an ARMR deserialization security rule that blocks this class of attack at the JVM level, without requiring a CVE-specific patch.
Candidate fix https://github.com/clojure/clojure/commit/271674c9b484d798484d134a5ac40a6df15d3ac3 : a commit: the change itself

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

VRT selects the newest version's highest entry and publishes it as cvssScore, newest rather than largest because scores are not comparable across versions, and highest rather than first because the first entry is frequently a CNA placeholder scoring 0.0 over NVD's own analysis.

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 & Releases

☕ Maven Library Packages

Artifact coordinates and fix boundaries from OSV.dev
Package CoordinateIntroducedFixedLast affected
org.clojure:clojure 0 1.9.0 unbounded

🖥️ Product CPEs & Version Ranges

2 product(s) over 2 version claims (uncapped)
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

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