CVE-2017-7525

Impact:
Important
Public Date:
2017-07-14
CWE:
CWE-20
Bugzilla:
1462702: CVE-2017-7525 jackson-databind: Deserialization vulnerability via readValue method of ObjectMapper
A deserialization flaw was discovered in the jackson-databind which could allow an unauthenticated user to perform code execution by sending the maliciously crafted input to the readValue method of the ObjectMapper.

Find out more about CVE-2017-7525 from the MITRE CVE dictionary dictionary and NIST NVD.

Statement

This issue affects the versions of jackson-databind (in Satellite 6.0 and 6.1) and candlepin (which embeds a copy of jackson-databind in Satellite 6.2) as shipped with Red Hat Satellite 6.x. However the affected code is NOT used at this time:

Candlepin currently uses the default type resolution configuration for the ObjectMappers it creates/uses. Nowhere in candlepin do we enable global polymorphic deserialization via enableDefaultTyping(...), therefore based on the documentation sited BZ 1462702 , candlepin should not be affected.

However as the vulnerable software ships with the product we have marked them as vulnerable to ensure the issue is tracked.

JBoss EAP 7.x only uses the vulnerable Jackson Databind library for marshalling and unmarshalling of JSON objects passed to JAX-RS webservices. Some advise about how to remain safe when using JAX-RS webservices on JBoss EAP 7.x is available here:

https://access.redhat.com/solutions/3279231

Although JBoss Fuse ships the vulnerable version of jackson-databind, it does not call on enableDefaultTyping() for any polymorphic deserialization operations which is the root cause of this vulnerability. We have raised a Jira tracker to ensure that jackson-databind will be upgraded for Fuse 7.0, however due to feasibility issues jackson-databind cannot be upgraded in JBoss Fuse 6.3.

CVSS v3 metrics

CVSS3 Base Score 8.1
CVSS3 Base Metrics CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Attack Vector Network
Attack Complexity High
Privileges Required None
User Interaction None
Scope Unchanged
Confidentiality High
Integrity Impact High
Availability Impact High

Red Hat Security Errata

Platform Errata Release Date
Red Hat JBoss BRMS 6.4 RHSA-2017:2547 2017-08-29
Red Hat JBoss Enterprise Application Platform 7.0 for RHEL 6 Server (eap7-jackson-databind) RHSA-2017:3454 2017-12-13
Red Hat JBoss Enterprise Application Platform 6 for RHEL 5 Server RHSA-2018:1450 2018-05-14
Red Hat Software Collections for Red Hat Enterprise Linux 7 (rh-eclipse46-jackson-databind) RHSA-2017:1839 2017-07-31
Red Hat JBoss Enterprise Application Platform 7.0 for RHEL 6 Server (eap7-jackson-databind) RHSA-2017:1834 2017-07-31
Red Hat JBoss Enterprise Application Platform 7.0 for RHEL 7 Server (eap7-jackson-databind) RHSA-2017:3455 2017-12-13
Red Hat JBoss Enterprise Application Platform 6 for RHEL 6 Server RHSA-2017:2635 2017-09-05
Red Hat JBoss Enterprise Application Platform 6 for RHEL 6 Server (jboss-ec2-eap) RHSA-2017:2638 2017-09-05
Red Hat JBoss Enterprise Application Platform 6 for RHEL 6 Server RHSA-2018:1449 2018-05-14
Red Hat JBoss Enterprise Application Platform 7.0 for RHEL 7 Server (eap7-jboss-ec2-eap) RHSA-2017:1837 2017-07-31
Red Hat JBoss Enterprise Application Platform 7.0 for RHEL 7 Server (eap7-jackson-databind) RHSA-2017:1835 2017-07-31
Red Hat JBoss EAP 7 RHSA-2017:3456 2017-12-13
Red Hat JBoss Enterprise Application Platform 6.4 RHSA-2017:2633 2017-09-05
Red Hat JBoss Data Grid 7.1 RHSA-2018:0294 2018-02-12
Red Hat Software Collections for Red Hat Enterprise Linux 6 (devtoolset-4-jackson-databind) RHSA-2017:1840 2017-07-31
Red Hat JBoss Enterprise Application Platform 6 for RHEL 5 Server RHSA-2017:2637 2017-09-05
Red Hat JBoss Enterprise Application Platform 6.3 for RHEL 7 Server RHSA-2017:2636 2017-09-05
Red Hat JBoss EAP 7 RHSA-2017:1836 2017-07-31
Red Hat JBoss BPMS 6.4 RHSA-2017:2546 2017-08-29
Red Hat Software Collections for Red Hat Enterprise Linux 7 (devtoolset-4-jackson-databind) RHSA-2017:1840 2017-07-31
Red Hat JBoss Enterprise Application Platform 7.0 for RHEL 7 Server (eap7-jboss-ec2-eap) RHSA-2017:3458 2017-12-13
Red Hat JBoss Enterprise Application Platform 7.0 for RHEL 6 Server (eap7-jboss-ec2-eap) RHSA-2017:3458 2017-12-13
Red Hat Virtualization 4 Management Agent for RHEL 7 Hosts (rhvm-appliance) RHSA-2017:3141 2017-11-07
Red Hat JBoss Data Virtualization 6.3 RHSA-2017:2477 2017-08-15
Red Hat Software Collections for Red Hat Enterprise Linux 7 (rh-maven35-jackson-databind) RHSA-2018:0342 2018-02-22
Red Hat JBoss Enterprise Application Platform 7.0 for RHEL 6 Server (eap7-jboss-ec2-eap) RHSA-2017:1837 2017-07-31

Affected Packages State

Platform Package State
Red Hat Virtualization 4 eap7-jackson-databind Affected
Red Hat Subscription Asset Manager 1 jackson-databind Will not fix
Red Hat Satellite 6 jackson-databind Affected
Red Hat OpenShift Enterprise 2 jackson-databind Will not fix
Red Hat OpenShift Application Runtimes 1.0 vertx Not affected
Red Hat OpenShift Application Runtimes 1.0 swarm Not affected
Red Hat Mobile Application Platform On-Premise 4 jackson-databind Not affected
Red Hat JBoss Operations Network 3 Core Server Not affected
Red Hat JBoss Fuse 6 jackson-databind Will not fix
Red Hat JBoss A-MQ 6 jackson-databind Will not fix
RHEV Manager 3 jasperreports-server-pro Will not fix

Acknowledgements

Red Hat would like to thank Liao Xinxi (NSFOCUS) for reporting this issue.

Mitigation

Mitigation to this problem is to not trigger polymorphic desrialization globally by using: objectMapper.enableDefaultTyping() and rather use @JsonTypeInfo on the class property to explicitly define the type information. For more information on this issue please refer to https://www.github.com/mbechler/marshalsec/blob/master/marshalsec.pdf?raw=true

Last Modified