CVE-2020-36180
Description
FasterXML jackson-databind 2.x before 2.9.10.8 mishandles the interaction between serialization gadgets and typing, related to org.apache.commons.dbcp2.cpdsadapter.DriverAdapterCPDS.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Jackson databind 2.x before 2.9.10.8 allows remote code execution via unsafe deserialization using DBCP2's DriverAdapterCPDS gadget.
Vulnerability
CVE-2020-36180 is a deserialization vulnerability in FasterXML jackson-databind versions prior to 2.9.10.8 [2]. It arises from improper handling of the interaction between serialization gadgets and the default typing feature, specifically involving the class org.apache.commons.dbcp2.cpdsadapter.DriverAdapterCPDS from Apache Commons DBCP2 [4].
Exploitation
An attacker must have the ability to send malformed JSON data to an application using Jackson databind with default typing enabled or a similar polyglot configuration [2]. If the vulnerable DBCP2 class is present on the classpath, the attacker can craft a payload that triggers arbitrary code execution during deserialization [3].
Impact
Successful exploitation allows remote code execution in the context of the vulnerable application, potentially leading to full system compromise [4]. This CVE is part of a series of similar issues (CVE-2020-36179 to CVE-2020-36182) targeting various DBCP2 gadget classes [4].
Mitigation
The fix is implemented in jackson-databind version 2.9.10.8, where the offending class is added to the blacklist [3]. Users are advised to upgrade to this version or later. No workaround exists if the default typing feature is required [2].
AI Insight generated on May 21, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
com.fasterxml.jackson.core:jackson-databindMaven | >= 2.7.0, < 2.9.10.8 | 2.9.10.8 |
com.fasterxml.jackson.core:jackson-databindMaven | >= 2.0.0, < 2.6.7.5 | 2.6.7.5 |
Affected products
2- FasterXML/jackson-databinddescription
Patches
3e19c557b7891[maven-release-plugin] prepare release jackson-databind-2.6.7.5
1 file changed · +2 −2
pom.xml+2 −2 modified@@ -10,7 +10,7 @@ <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> - <version>2.6.7.5-SNAPSHOT</version> + <version>2.6.7.5</version> <name>jackson-databind</name> <packaging>bundle</packaging> <description>General data-binding functionality for Jackson: works on core streaming API</description> @@ -21,7 +21,7 @@ <connection>scm:git:git@github.com:FasterXML/jackson-databind.git</connection> <developerConnection>scm:git:git@github.com:FasterXML/jackson-databind.git</developerConnection> <url>http://github.com/FasterXML/jackson-databind</url> - <tag>HEAD</tag> + <tag>jackson-databind-2.6.7.5</tag> </scm> <properties>
7ae9214c0670[maven-release-plugin] prepare release jackson-databind-2.9.10.8
1 file changed · +2 −2
pom.xml+2 −2 modified@@ -10,7 +10,7 @@ <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> - <version>2.9.10.8-SNAPSHOT</version> + <version>2.9.10.8</version> <name>jackson-databind</name> <packaging>bundle</packaging> <description>General data-binding functionality for Jackson: works on core streaming API</description> @@ -21,7 +21,7 @@ <connection>scm:git:git@github.com:FasterXML/jackson-databind.git</connection> <developerConnection>scm:git:git@github.com:FasterXML/jackson-databind.git</developerConnection> <url>http://github.com/FasterXML/jackson-databind</url> - <tag>HEAD</tag> + <tag>jackson-databind-2.9.10.8</tag> </scm> <properties>
3ded28aece69Fixed #3004
2 files changed · +16 −7
release-notes/VERSION-2.x+2 −0 modified@@ -17,6 +17,8 @@ Project: jackson-databind #2999: Block 1 more gadget type (org.glassfish.web/javax.servlet.jsp.jstl, CVE-2020-35728) (reported by bu5yer of Sangfor FarSight Security Lab) #3003: Block one more gadget type (xxx, CVE to be allocated) +#3004: Block one more DBCP-related potential gadget class + (reported by Al1ex@knownsec) 2.9.10.7 (02-Dec-2020)
src/main/java/com/fasterxml/jackson/databind/jsontype/impl/SubTypeValidator.java+14 −7 modified@@ -118,9 +118,12 @@ public class SubTypeValidator // [databind#2704]: xalan2 s.add("com.sun.org.apache.xalan.internal.lib.sql.JNDIConnectionPool"); - // [databind#2478]: comons-dbcp, p6spy + // [databind#2478]: commons-dbcp 1.x, p6spy + // [databind#3004]: commons-dbcp 1.x + s.add("org.apache.commons.dbcp.cpdsadapter.DriverAdapterCPDS"); s.add("org.apache.commons.dbcp.datasources.PerUserPoolDataSource"); s.add("org.apache.commons.dbcp.datasources.SharedPoolDataSource"); + s.add("com.p6spy.engine.spy.P6DataSource"); // [databind#2498]: log4j-extras (1.2) @@ -185,8 +188,9 @@ public class SubTypeValidator // [databind#2682]: commons-jelly s.add("org.apache.commons.jelly.impl.Embedded"); - // [databind#2688]: apache/drill + // [databind#2688], [databind#3004]: apache/drill s.add("oadd.org.apache.xalan.lib.sql.JNDIConnectionPool"); + s.add("oadd.org.apache.commons.dbcp.cpdsadapter.DriverAdapterCPDS"); s.add("oadd.org.apache.commons.dbcp.datasources.PerUserPoolDataSource"); s.add("oadd.org.apache.commons.dbcp.datasources.SharedPoolDataSource"); @@ -209,32 +213,35 @@ public class SubTypeValidator s.add("com.nqadmin.rowset.JdbcRowSetImpl"); s.add("org.arrah.framework.rdbms.UpdatableJdbcRowsetImpl"); - // [databind#2986]: dbcp2 + // [databind#2986], [databind#3004]: dbcp2 s.add("org.apache.commons.dbcp2.datasources.PerUserPoolDataSource"); s.add("org.apache.commons.dbcp2.datasources.SharedPoolDataSource"); + s.add("org.apache.commons.dbcp2.cpdsadapter.DriverAdapterCPDS"); // [databind#2996]: newrelic-agent + embedded-logback-core // (derivative of #2334 and #2389) s.add("com.newrelic.agent.deps.ch.qos.logback.core.db.JNDIConnectionSource"); s.add("com.newrelic.agent.deps.ch.qos.logback.core.db.DriverManagerConnectionSource"); - // [databind#2997]: tomcat/naming-factory-dbcp (embedded dbcp 1.x) + // [databind#2997]/[databind#3004]: tomcat/naming-factory-dbcp (embedded dbcp 1.x) // (derivative of #2478) + s.add("org.apache.tomcat.dbcp.dbcp.cpdsadapter.DriverAdapterCPDS"); s.add("org.apache.tomcat.dbcp.dbcp.datasources.PerUserPoolDataSource"); s.add("org.apache.tomcat.dbcp.dbcp.datasources.SharedPoolDataSource"); - // [databind#2998]: org.apache.tomcat/tomcat-dbcp (embedded dbcp 2.x) + // [databind#2998]/[databind#3004]: org.apache.tomcat/tomcat-dbcp (embedded dbcp 2.x) // (derivative of #2478) + s.add("org.apache.tomcat.dbcp.dbcp2.cpdsadapter.DriverAdapterCPDS"); s.add("org.apache.tomcat.dbcp.dbcp2.datasources.PerUserPoolDataSource"); s.add("org.apache.tomcat.dbcp.dbcp2.datasources.SharedPoolDataSource"); // [databind#2999]: org.glassfish.web/javax.servlet.jsp.jstl (embedded Xalan) // (derivative of #2469) s.add("com.oracle.wls.shaded.org.apache.xalan.lib.sql.JNDIConnectionPool"); - // [databind#303]: another case of embedded Xalan (derivative of #2469) + // [databind#3003]: another case of embedded Xalan (derivative of #2469) s.add("org.docx4j.org.apache.xalan.lib.sql.JNDIConnectionPool"); - + DEFAULT_NO_DESER_CLASS_NAMES = Collections.unmodifiableSet(s); }
Vulnerability mechanics
Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
14- github.com/advisories/GHSA-8c4j-34r4-xr8gghsaADVISORY
- nvd.nist.gov/vuln/detail/CVE-2020-36180ghsaADVISORY
- cowtowncoder.medium.com/on-jackson-cves-dont-panic-here-is-what-you-need-to-know-54cd0d6e8062ghsax_refsource_MISCWEB
- github.com/FasterXML/jackson-databind/commit/3ded28aece694d0df39c9f0fa1ff385b14a8656bghsaWEB
- github.com/FasterXML/jackson-databind/issues/3004ghsax_refsource_MISCWEB
- lists.debian.org/debian-lts-announce/2021/04/msg00025.htmlghsamailing-listx_refsource_MLISTWEB
- security.netapp.com/advisory/ntap-20210205-0005ghsaWEB
- security.netapp.com/advisory/ntap-20210205-0005/mitrex_refsource_CONFIRM
- www.oracle.com//security-alerts/cpujul2021.htmlghsax_refsource_MISCWEB
- www.oracle.com/security-alerts/cpuApr2021.htmlghsax_refsource_MISCWEB
- www.oracle.com/security-alerts/cpuapr2022.htmlghsax_refsource_MISCWEB
- www.oracle.com/security-alerts/cpujan2022.htmlghsax_refsource_MISCWEB
- www.oracle.com/security-alerts/cpujul2022.htmlghsax_refsource_MISCWEB
- www.oracle.com/security-alerts/cpuoct2021.htmlghsax_refsource_MISCWEB
News mentions
0No linked articles in our index yet.