{"id":"UBUNTU-CVE-2017-20189","details":"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.","modified":"2025-10-24T04:46:41Z","published":"2024-01-22T06:15:00Z","upstream":["CVE-2017-20189"],"references":[{"type":"REPORT","url":"https://ubuntu.com/security/CVE-2017-20189"},{"type":"REPORT","url":"https://hackmd.io/%40fe1w0/HyefvRQKp"},{"type":"REPORT","url":"https://clojure.atlassian.net/browse/CLJ-2204"},{"type":"REPORT","url":"https://github.com/frohoff/ysoserial/pull/68/files"},{"type":"REPORT","url":"https://security.snyk.io/vuln/SNYK-JAVA-ORGCLOJURE-5740378"},{"type":"REPORT","url":"https://www.cve.org/CVERecord?id=CVE-2017-20189"}],"affected":[{"package":{"name":"clojure","ecosystem":"Ubuntu:18.04:LTS","purl":"pkg:deb/ubuntu/clojure@1.9.0-6~18.04?arch=source&distro=bionic"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.8.0-3","1.9.0~alpha15-1","1.9.0~alpha15-2","1.9.0-2","1.9.0-6~18.04"],"ecosystem_specific":{"binaries":[{"binary_name":"clojure","binary_version":"1.9.0-6~18.04"},{"binary_name":"libclojure-java","binary_version":"1.9.0-6~18.04"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2017/UBUNTU-CVE-2017-20189.json"}}],"schema_version":"1.7.3","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"},{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"},{"type":"Ubuntu","score":"medium"}]}