CVE-2019-17531: Input Validation
A Polymorphic Typing issue was discovered in FasterXML jackson-databind 2.0.0 prior to 2.9.10.1, 2.8.11.5, and 2.6.7.3. When Default Typing is enabled (either globally or for a specific property) for an externally exposed JSON endpoint and the service has the apache-log4j-extra (version 1.2.x) jar in the classpath, and an attacker can provide a JNDI service to access, it is possible to make the service execute a malicious payload.
Other sources
A Polymorphic Typing issue was discovered in FasterXML jackson-databind 2.0.0 through 2.9.10. When Default Typing is enabled (either globally or for a specific property) for an externally exposed JSON endpoint and the service has the apache-log4j-extra (version 1.2.x) jar in the classpath, and an attacker can provide a JNDI service to access, it is possible to make the service execute a malicious payload.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
maven/com.fasterxml.jackson.core:jackson-databindto a version that resolves this vulnerability.Fixed in 2.6.7.3 - Upgrade
Upgrade
maven/com.fasterxml.jackson.core:jackson-databindto a version that resolves this vulnerability.Fixed in 2.8.11.5 - Upgrade
Upgrade
maven/com.fasterxml.jackson.core:jackson-databindto a version that resolves this vulnerability.Fixed in 2.9.10.1 - Upgrade
Upgrade
redhat/eap7-apache-cxfto a version that resolves this vulnerability.Fixed in 0:3.2.11-1.redhat_00001.1.el6ea - Upgrade
Upgrade
redhat/eap7-glassfish-jsfto a version that resolves this vulnerability.Fixed in 0:2.3.5-6.SP3_redhat_00004.1.el6ea - Upgrade
Upgrade
redhat/eap7-hal-consoleto a version that resolves this vulnerability.Fixed in 0:3.0.19-1.Final_redhat_00001.1.el6ea - Upgrade
Upgrade
redhat/eap7-hibernateto a version that resolves this vulnerability.Fixed in 0:5.3.14-1.Final_redhat_00001.1.el6ea - Upgrade
Upgrade
redhat/eap7-hibernate-validatorto a version that resolves this vulnerability.Fixed in 0:6.0.18-1.Final_redhat_00001.1.el6ea - Upgrade
Upgrade
redhat/eap7-jackson-annotationsto a version that resolves this vulnerability.Fixed in 0:2.9.10-1.redhat_00003.1.el6ea - Upgrade
Upgrade
redhat/eap7-jackson-coreto a version that resolves this vulnerability.Fixed in 0:2.9.10-1.redhat_00003.1.el6ea - Upgrade
Upgrade
redhat/eap7-jackson-databindto a version that resolves this vulnerability.Fixed in 0:2.9.10.1-1.redhat_00001.1.el6ea - Upgrade
Upgrade
redhat/eap7-jackson-dataformats-binaryto a version that resolves this vulnerability.Fixed in 0:2.9.10-1.redhat_00003.1.el6ea - Upgrade
Upgrade
redhat/eap7-jackson-dataformats-textto a version that resolves this vulnerability.Fixed in 0:2.9.10-1.redhat_00003.1.el6ea - Upgrade
Upgrade
redhat/eap7-jackson-jaxrs-providersto a version that resolves this vulnerability.Fixed in 0:2.9.10-1.redhat_00003.1.el6ea - Upgrade
Upgrade
redhat/eap7-jackson-modules-baseto a version that resolves this vulnerability.Fixed in 0:2.9.10-2.redhat_00003.1.el6ea - Upgrade
Upgrade
redhat/eap7-jackson-modules-java8to a version that resolves this vulnerability.Fixed in 0:2.9.10-1.redhat_00003.1.el6ea - Upgrade
Upgrade
redhat/eap7-jberetto a version that resolves this vulnerability.Fixed in 0:1.3.5-1.Final_redhat_00001.1.el6ea - Upgrade
Upgrade
redhat/eap7-jboss-ejb-clientto a version that resolves this vulnerability.Fixed in 0:4.0.27-1.Final_redhat_00001.1.el6ea - Upgrade
Upgrade
redhat/eap7-jboss-server-migrationto a version that resolves this vulnerability.Fixed in 0:1.3.1-7.Final_redhat_00007.1.el6ea - Upgrade
Upgrade
redhat/eap7-jboss-xnio-baseto a version that resolves this vulnerability.Fixed in 0:3.7.6-3.SP2_redhat_00001.1.el6ea - Upgrade
Upgrade
redhat/eap7-nettyto a version that resolves this vulnerability.Fixed in 0:4.1.42-1.Final_redhat_00001.1.el6ea - Upgrade
Upgrade
redhat/eap7-picketlink-bindingsto a version that resolves this vulnerability.Fixed in 0:2.5.5-21.SP12_redhat_00010.1.el6ea - Upgrade
Upgrade
redhat/eap7-undertowto a version that resolves this vulnerability.Fixed in 0:2.0.28-2.SP1_redhat_00001.1.el6ea - Upgrade
Upgrade
redhat/eap7-undertow-jastowto a version that resolves this vulnerability.Fixed in 0:2.0.8-1.Final_redhat_00001.1.el6ea - Upgrade
Upgrade
redhat/eap7-weld-coreto a version that resolves this vulnerability.Fixed in 0:3.0.6-3.Final_redhat_00003.1.el6ea - Upgrade
Upgrade
redhat/eap7-wildflyto a version that resolves this vulnerability.Fixed in 0:7.2.6-5.GA_redhat_00001.1.el6ea - Upgrade
Upgrade
redhat/eap7-wildfly-http-clientto a version that resolves this vulnerability.Fixed in 0:1.0.18-2.Final_redhat_00001.1.el6ea - Upgrade
Upgrade
redhat/eap7-wildfly-transaction-clientto a version that resolves this vulnerability.Fixed in 0:1.1.8-1.Final_redhat_00001.1.el6ea - Upgrade
Upgrade
redhat/eap7-apache-cxfto a version that resolves this vulnerability.Fixed in 0:3.2.11-1.redhat_00001.1.el7ea - Upgrade
Upgrade
redhat/eap7-glassfish-jsfto a version that resolves this vulnerability.Fixed in 0:2.3.5-6.SP3_redhat_00004.1.el7ea - Upgrade
Upgrade
redhat/eap7-hal-consoleto a version that resolves this vulnerability.Fixed in 0:3.0.19-1.Final_redhat_00001.1.el7ea - Upgrade
Upgrade
redhat/eap7-hibernateto a version that resolves this vulnerability.Fixed in 0:5.3.14-1.Final_redhat_00001.1.el7ea - Upgrade
Upgrade
redhat/eap7-hibernate-validatorto a version that resolves this vulnerability.Fixed in 0:6.0.18-1.Final_redhat_00001.1.el7ea - Upgrade
Upgrade
redhat/eap7-jackson-annotationsto a version that resolves this vulnerability.Fixed in 0:2.9.10-1.redhat_00003.1.el7ea - Upgrade
Upgrade
redhat/eap7-jackson-coreto a version that resolves this vulnerability.Fixed in 0:2.9.10-1.redhat_00003.1.el7ea - Upgrade
Upgrade
redhat/eap7-jackson-databindto a version that resolves this vulnerability.Fixed in 0:2.9.10.1-1.redhat_00001.1.el7ea - Upgrade
Upgrade
redhat/eap7-jackson-dataformats-binaryto a version that resolves this vulnerability.Fixed in 0:2.9.10-1.redhat_00003.1.el7ea - Upgrade
Upgrade
redhat/eap7-jackson-dataformats-textto a version that resolves this vulnerability.Fixed in 0:2.9.10-1.redhat_00003.1.el7ea - Upgrade
Upgrade
redhat/eap7-jackson-jaxrs-providersto a version that resolves this vulnerability.Fixed in 0:2.9.10-1.redhat_00003.1.el7ea - Upgrade
Upgrade
redhat/eap7-jackson-modules-baseto a version that resolves this vulnerability.Fixed in 0:2.9.10-2.redhat_00003.1.el7ea - Upgrade
Upgrade
redhat/eap7-jackson-modules-java8to a version that resolves this vulnerability.Fixed in 0:2.9.10-1.redhat_00003.1.el7ea - Upgrade
Upgrade
redhat/eap7-jberetto a version that resolves this vulnerability.Fixed in 0:1.3.5-1.Final_redhat_00001.1.el7ea - Upgrade
Upgrade
redhat/eap7-jboss-ejb-clientto a version that resolves this vulnerability.Fixed in 0:4.0.27-1.Final_redhat_00001.1.el7ea - Upgrade
Upgrade
redhat/eap7-jboss-server-migrationto a version that resolves this vulnerability.Fixed in 0:1.3.1-7.Final_redhat_00007.1.el7ea - Upgrade
Upgrade
redhat/eap7-jboss-xnio-baseto a version that resolves this vulnerability.Fixed in 0:3.7.6-3.SP2_redhat_00001.1.el7ea - Upgrade
Upgrade
redhat/eap7-nettyto a version that resolves this vulnerability.Fixed in 0:4.1.42-1.Final_redhat_00001.1.el7ea - Upgrade
Upgrade
redhat/eap7-picketlink-bindingsto a version that resolves this vulnerability.Fixed in 0:2.5.5-21.SP12_redhat_00010.1.el7ea - Upgrade
Upgrade
redhat/eap7-undertowto a version that resolves this vulnerability.Fixed in 0:2.0.28-2.SP1_redhat_00001.1.el7ea - Upgrade
Upgrade
redhat/eap7-undertow-jastowto a version that resolves this vulnerability.Fixed in 0:2.0.8-1.Final_redhat_00001.1.el7ea - Upgrade
Upgrade
redhat/eap7-weld-coreto a version that resolves this vulnerability.Fixed in 0:3.0.6-3.Final_redhat_00003.1.el7ea - Upgrade
Upgrade
redhat/eap7-wildflyto a version that resolves this vulnerability.Fixed in 0:7.2.6-5.GA_redhat_00001.1.el7ea - Upgrade
Upgrade
redhat/eap7-wildfly-http-clientto a version that resolves this vulnerability.Fixed in 0:1.0.18-2.Final_redhat_00001.1.el7ea - Upgrade
Upgrade
redhat/eap7-wildfly-transaction-clientto a version that resolves this vulnerability.Fixed in 0:1.1.8-1.Final_redhat_00001.1.el7ea - Upgrade
Upgrade
redhat/eap7-apache-cxfto a version that resolves this vulnerability.Fixed in 0:3.2.11-1.redhat_00001.1.el8ea - Upgrade
Upgrade
redhat/eap7-glassfish-jsfto a version that resolves this vulnerability.Fixed in 0:2.3.5-6.SP3_redhat_00004.1.el8ea - Upgrade
Upgrade
redhat/eap7-hal-consoleto a version that resolves this vulnerability.Fixed in 0:3.0.19-1.Final_redhat_00001.1.el8ea - Upgrade
Upgrade
redhat/eap7-hibernateto a version that resolves this vulnerability.Fixed in 0:5.3.14-1.Final_redhat_00001.1.el8ea - Upgrade
Upgrade
redhat/eap7-hibernate-validatorto a version that resolves this vulnerability.Fixed in 0:6.0.18-1.Final_redhat_00001.1.el8ea - Upgrade
Upgrade
redhat/eap7-jackson-annotationsto a version that resolves this vulnerability.Fixed in 0:2.9.10-1.redhat_00003.1.el8ea - Upgrade
Upgrade
redhat/eap7-jackson-coreto a version that resolves this vulnerability.Fixed in 0:2.9.10-1.redhat_00003.1.el8ea - Upgrade
Upgrade
redhat/eap7-jackson-databindto a version that resolves this vulnerability.Fixed in 0:2.9.10.1-1.redhat_00001.1.el8ea - Upgrade
Upgrade
redhat/eap7-jackson-dataformats-binaryto a version that resolves this vulnerability.Fixed in 0:2.9.10-1.redhat_00003.1.el8ea - Upgrade
Upgrade
redhat/eap7-jackson-dataformats-textto a version that resolves this vulnerability.Fixed in 0:2.9.10-1.redhat_00003.1.el8ea - Upgrade
Upgrade
redhat/eap7-jackson-jaxrs-providersto a version that resolves this vulnerability.Fixed in 0:2.9.10-1.redhat_00003.1.el8ea - Upgrade
Upgrade
redhat/eap7-jackson-modules-baseto a version that resolves this vulnerability.Fixed in 0:2.9.10-2.redhat_00003.1.el8ea - Upgrade
Upgrade
redhat/eap7-jackson-modules-java8to a version that resolves this vulnerability.Fixed in 0:2.9.10-1.redhat_00003.1.el8ea - Upgrade
Upgrade
redhat/eap7-jberetto a version that resolves this vulnerability.Fixed in 0:1.3.5-1.Final_redhat_00001.1.el8ea - Upgrade
Upgrade
redhat/eap7-jboss-ejb-clientto a version that resolves this vulnerability.Fixed in 0:4.0.27-1.Final_redhat_00001.1.el8ea - Upgrade
Upgrade
redhat/eap7-jboss-server-migrationto a version that resolves this vulnerability.Fixed in 0:1.3.1-7.Final_redhat_00007.1.el8ea - Upgrade
Upgrade
redhat/eap7-jboss-xnio-baseto a version that resolves this vulnerability.Fixed in 0:3.7.6-3.SP2_redhat_00001.1.el8ea - Upgrade
Upgrade
redhat/eap7-nettyto a version that resolves this vulnerability.Fixed in 0:4.1.42-1.Final_redhat_00001.1.el8ea - Upgrade
Upgrade
redhat/eap7-picketlink-bindingsto a version that resolves this vulnerability.Fixed in 0:2.5.5-21.SP12_redhat_00010.1.el8ea - Upgrade
Upgrade
redhat/eap7-undertowto a version that resolves this vulnerability.Fixed in 0:2.0.28-2.SP1_redhat_00001.1.el8ea - Upgrade
Upgrade
redhat/eap7-undertow-jastowto a version that resolves this vulnerability.Fixed in 0:2.0.8-1.Final_redhat_00001.1.el8ea - Upgrade
Upgrade
redhat/eap7-weld-coreto a version that resolves this vulnerability.Fixed in 0:3.0.6-3.Final_redhat_00003.1.el8ea - Upgrade
Upgrade
redhat/eap7-wildflyto a version that resolves this vulnerability.Fixed in 0:7.2.6-5.GA_redhat_00001.1.el8ea - Upgrade
Upgrade
redhat/eap7-wildfly-http-clientto a version that resolves this vulnerability.Fixed in 0:1.0.18-2.Final_redhat_00001.1.el8ea - Upgrade
Upgrade
redhat/eap7-wildfly-transaction-clientto a version that resolves this vulnerability.Fixed in 0:1.1.8-1.Final_redhat_00001.1.el8ea - Upgrade
Upgrade
redhat/rh-maven35-jackson-databindto a version that resolves this vulnerability.Fixed in 0:2.7.6-2.8.el7 - Upgrade
Upgrade
redhat/jackson-databindto a version that resolves this vulnerability.Fixed in 2.9.10.1 - Upgrade
Upgrade
redhat/jackson-databindto a version that resolves this vulnerability.Fixed in 2.6.7.3 - Upgrade
Upgrade
FasterXML jackson-databindto a version that resolves this vulnerability.Fixed in 2.9.10.1 - Upgrade
Upgrade
FasterXML jackson-databindto a version that resolves this vulnerability.Fixed in 2.8.11.5 - Upgrade
Upgrade
FasterXML jackson-databindto a version that resolves this vulnerability.Fixed in 2.6.7.3 - Configuration
Disable use of enableDefaultTyping() (and avoid default typing for externally exposed JSON endpoints/properties) to prevent polymorphic typing deserialization from untrusted sources.
Jackson ObjectMapper / jackson-databind enableDefaultTyping() = disable - Configuration
Avoid @JsonTypeInfo using id.CLASS or id.MINIMAL_CLASS in polymorphic typing configurations to reduce risk of gadget-based deserialization from untrusted JSON.
Jackson polymorphic typing @JsonTypeInfo using = do not use id.CLASS or id.MINIMAL_CLASS - Compensating control
If you expose JSON endpoints that use default typing, ensure the service is not vulnerable to JNDI-based payload delivery by removing/avoiding the apache-log4j-extra (version 1.2.x) jar from the classpath (since it is required for the described exploit path).
Event History
Parent advisories
This vulnerability appears in the following advisories.
Frequently Asked Questions
What is the severity of CVE-2019-17531?
CVE-2019-17531 has a medium severity rating, primarily affecting applications utilizing polimorphic typing in Jackson databind.
How do I fix CVE-2019-17531?
To fix CVE-2019-17531, upgrade to Jackson databind version 2.9.10.1 or later, 2.8.11.5, or 2.6.7.3.
Which versions of Jackson databind are impacted by CVE-2019-17531?
CVE-2019-17531 affects Jackson databind versions before 2.9.10.1, 2.8.11.5, and 2.6.7.3.
What types of systems are affected by CVE-2019-17531?
CVE-2019-17531 impacts systems that utilize Jackson databind with default typing enabled on externally exposed JSON endpoints.
Does CVE-2019-17531 affect any specific products?
Yes, CVE-2019-17531 may affect various products using vulnerable versions of Jackson databind across multiple platforms.