Skip to content

Commit 2118e71

Browse files
authored
Backported all CVE fixes up to CVE-2021-20190 (#3087)
1 parent 8069e46 commit 2118e71

File tree

2 files changed

+55
-6
lines changed

2 files changed

+55
-6
lines changed

release-notes/VERSION

+14
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,20 @@ Project: jackson-databind
44
=== Releases ===
55
------------------------------------------------------------------------
66

7+
2.6.7.5 (not yet released)
8+
9+
Backported all CVE fixes up to CVE-2021-20190
10+
11+
#3004: Block some more DBCP-related potential gadget classes (CVE-2020-36179 / CVE-2020-36182)
12+
#3003: Block one more gadget type (org.docx4j.org.apache:xalan-interpretive, CVE-2020-36183)
13+
#2999: Block one more gadget type (org.glassfish.web/javax.servlet.jsp.jstl, CVE-2020-35728)
14+
#2998: Block 2 more gadget types (org.apache.tomcat/tomcat-dbcp, CVE-2020-36184 / CVE-2020-36185)
15+
#2997: Block 2 more gadget types (tomcat/naming-factory-dbcp, CVE-2020-36186 / CVE-2020-36187)
16+
#2996: Block 2 more gadget types (newrelic-agent, CVE-2020-36188 / CVE-2020-36189)
17+
#2986: Block 2 more gadget types (commons-dbcp2, CVE-2020-35490 / CVE-2020-35491)
18+
#2854: Block one more gadget type (javax.swing, CVE-2021-20190)
19+
#2798: Block one more gadget type (com.pastdev.httpcomponents, CVE-2020-24750)
20+
721
2.6.7.4 (25-Oct-2020)
822

923
Backported all CVE fixes up to 2.9.10.6

src/main/java/com/fasterxml/jackson/databind/deser/BeanDeserializerFactory.java

+41-6
Original file line numberDiff line numberDiff line change
@@ -102,13 +102,13 @@ public class BeanDeserializerFactory
102102
s.add("org.apache.openjpa.ee.WASRegistryManagedRuntime"); // [#2670] addition
103103
s.add("org.apache.axis2.transport.jms.JMSOutTransportInfo");
104104

105-
// [databind#2326]
105+
// [databind#2326] (2.9.9)
106106
s.add("com.mysql.cj.jdbc.admin.MiniAdmin");
107107

108-
// [databind#2334]: logback-core
108+
// [databind#2334]: logback-core (2.9.9.1)
109109
s.add("ch.qos.logback.core.db.DriverManagerConnectionSource");
110110

111-
// [databind#2341]: jdom/jdom2
111+
// [databind#2341]: jdom/jdom2 (2.9.9.1)
112112
s.add("org.jdom.transform.XSLTransformer");
113113
s.add("org.jdom2.transform.XSLTransformer");
114114

@@ -136,9 +136,12 @@ public class BeanDeserializerFactory
136136
// [databind#2704]: xalan2
137137
s.add("com.sun.org.apache.xalan.internal.lib.sql.JNDIConnectionPool");
138138

139-
// [databind#2478]: comons-dbcp, p6spy
139+
// [databind#2478]: commons-dbcp 1.x, p6spy
140+
// [databind#3004]: commons-dbcp 1.x
141+
s.add("org.apache.commons.dbcp.cpdsadapter.DriverAdapterCPDS");
140142
s.add("org.apache.commons.dbcp.datasources.PerUserPoolDataSource");
141143
s.add("org.apache.commons.dbcp.datasources.SharedPoolDataSource");
144+
142145
s.add("com.p6spy.engine.spy.P6DataSource");
143146

144147
// [databind#2498]: log4j-extras (1.2)
@@ -203,8 +206,11 @@ public class BeanDeserializerFactory
203206
// [databind#2682]: commons-jelly
204207
s.add("org.apache.commons.jelly.impl.Embedded");
205208

206-
// [databind#2688]: apache/drill
209+
// [databind#2688], [databind#3004]: apache/drill
207210
s.add("oadd.org.apache.xalan.lib.sql.JNDIConnectionPool");
211+
s.add("oadd.org.apache.commons.dbcp.cpdsadapter.DriverAdapterCPDS");
212+
s.add("oadd.org.apache.commons.dbcp.datasources.PerUserPoolDataSource");
213+
s.add("oadd.org.apache.commons.dbcp.datasources.SharedPoolDataSource");
208214

209215
// [databind#2698]: weblogic w/ oracle/aq-jms
210216
// (note: dependency not available via Maven Central, but as part of
@@ -215,7 +221,7 @@ public class BeanDeserializerFactory
215221
s.add("oracle.jms.AQjmsXAQueueConnectionFactory");
216222
s.add("oracle.jms.AQjmsXAConnectionFactory");
217223

218-
// [databind#2765]: org.jsecurity:
224+
// [databind#2764]: org.jsecurity:
219225
s.add("org.jsecurity.realm.jndi.JndiRealmFactory");
220226

221227
// [databind#2798]: com.pastdev.httpcomponents:
@@ -225,6 +231,35 @@ public class BeanDeserializerFactory
225231
s.add("com.nqadmin.rowset.JdbcRowSetImpl");
226232
s.add("org.arrah.framework.rdbms.UpdatableJdbcRowsetImpl");
227233

234+
// [databind#2986], [databind#3004]: dbcp2
235+
s.add("org.apache.commons.dbcp2.datasources.PerUserPoolDataSource");
236+
s.add("org.apache.commons.dbcp2.datasources.SharedPoolDataSource");
237+
s.add("org.apache.commons.dbcp2.cpdsadapter.DriverAdapterCPDS");
238+
239+
// [databind#2996]: newrelic-agent + embedded-logback-core
240+
// (derivative of #2334 and #2389)
241+
s.add("com.newrelic.agent.deps.ch.qos.logback.core.db.JNDIConnectionSource");
242+
s.add("com.newrelic.agent.deps.ch.qos.logback.core.db.DriverManagerConnectionSource");
243+
244+
// [databind#2997]/[databind#3004]: tomcat/naming-factory-dbcp (embedded dbcp 1.x)
245+
// (derivative of #2478)
246+
s.add("org.apache.tomcat.dbcp.dbcp.cpdsadapter.DriverAdapterCPDS");
247+
s.add("org.apache.tomcat.dbcp.dbcp.datasources.PerUserPoolDataSource");
248+
s.add("org.apache.tomcat.dbcp.dbcp.datasources.SharedPoolDataSource");
249+
250+
// [databind#2998]/[databind#3004]: org.apache.tomcat/tomcat-dbcp (embedded dbcp 2.x)
251+
// (derivative of #2478)
252+
s.add("org.apache.tomcat.dbcp.dbcp2.cpdsadapter.DriverAdapterCPDS");
253+
s.add("org.apache.tomcat.dbcp.dbcp2.datasources.PerUserPoolDataSource");
254+
s.add("org.apache.tomcat.dbcp.dbcp2.datasources.SharedPoolDataSource");
255+
256+
// [databind#2999]: org.glassfish.web/javax.servlet.jsp.jstl (embedded Xalan)
257+
// (derivative of #2469)
258+
s.add("com.oracle.wls.shaded.org.apache.xalan.lib.sql.JNDIConnectionPool");
259+
260+
// [databind#3003]: another case of embedded Xalan (derivative of #2469)
261+
s.add("org.docx4j.org.apache.xalan.lib.sql.JNDIConnectionPool");
262+
228263
DEFAULT_NO_DESER_CLASS_NAMES = Collections.unmodifiableSet(s);
229264
}
230265

0 commit comments

Comments
 (0)