CVE-2017-15095
Find out more about CVE-2017-15095 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:
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 Enterprise Application Platform 6 for RHEL 6 Server | RHSA-2018:1449 | 2018-05-14 |
| Red Hat Satellite 6.4 for RHEL 7 | RHSA-2018:2927 | 2018-10-16 |
| Red Hat JBoss Enterprise Application Platform 6 for RHEL 6 Server (jboss-ec2-eap) | RHSA-2018:1451 | 2018-05-14 |
| Red Hat JBoss BRMS 6.4 | RHSA-2018:0576 | 2018-03-22 |
| Red Hat JBoss Enterprise Application Platform 6 for RHEL 5 Server | RHSA-2018:1450 | 2018-05-14 |
| Red Hat Satellite 6.4 for RHEL 7 | RHSA-2018:2927 | 2018-10-16 |
| Red Hat Software Collections for Red Hat Enterprise Linux 7 (rh-maven35-jackson-databind) | RHSA-2018:0342 | 2018-02-22 |
| Red Hat Developer Tools for Red Hat Enterprise Linux Server (v. 7) (rh-eclipse47-jackson-databind) | RHSA-2017:3189 | 2017-11-13 |
| Red Hat Software Collections for Red Hat Enterprise Linux 7 (rh-eclipse46-jackson-databind) | RHSA-2017:3190 | 2017-11-13 |
| Red Hat JBoss BPMS 6.4 | RHSA-2018:0577 | 2018-03-22 |
| Red Hat JBoss Enterprise Application Platform 7.0 for RHEL 7 Server (eap7-jackson-databind) | RHSA-2018:0480 | 2018-03-12 |
| Red Hat JBoss Enterprise Application Platform 7.0 for RHEL 7 Server (eap7-jboss-ec2-eap) | RHSA-2018:0481 | 2018-03-12 |
| Red Hat JBoss Enterprise Application Platform 6.4 | RHSA-2018:1447 | 2018-05-14 |
| Red Hat JBoss Enterprise Application Platform 7.0 for RHEL 6 Server (eap7-jackson-databind) | RHSA-2018:0479 | 2018-03-12 |
| Red Hat JBoss EAP 7 | RHSA-2018:0478 | 2018-03-12 |
| Red Hat JBoss Enterprise Application Platform 7.0 for RHEL 6 Server (eap7-jboss-ec2-eap) | RHSA-2018:0481 | 2018-03-12 |
| Red Hat JBoss Enterprise Application Platform 6.3 for RHEL 7 Server | RHSA-2018:1448 | 2018-05-14 |
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 | 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 | Not affected |
| Red Hat JBoss Data Virtualization 6 | jackson-databind | Affected |
| Red Hat JBoss Data Grid 7 | jackson-databind | Not affected |
| Red Hat JBoss A-MQ 6 | jackson-databind | Not affected |
| 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
