CVE Vulnerabilities

CVE-2020-36185

Deserialization of Untrusted Data

Published: Jan 06, 2021 | Modified: Nov 21, 2024
CVSS 3.x
8.1
HIGH
Source:
NVD
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS 2.x
6.8 MEDIUM
AV:N/AC:M/Au:N/C:P/I:P/A:P
RedHat/V2
RedHat/V3
8.1 IMPORTANT
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Ubuntu
LOW

FasterXML jackson-databind 2.x before 2.9.10.8 mishandles the interaction between serialization gadgets and typing, related to org.apache.tomcat.dbcp.dbcp2.datasources.SharedPoolDataSource.

Weakness

The product deserializes untrusted data without sufficiently ensuring that the resulting data will be valid.

Affected Software

Name Vendor Start Version End Version
Jackson-databind Fasterxml 2.0.0 (including) 2.6.7.5 (excluding)
Jackson-databind Fasterxml 2.7.0 (including) 2.9.10.8 (excluding)
OpenShift Logging 5.0 RedHat openshift-logging/elasticsearch6-rhel8:v5.0.3-1 *
Red Hat OpenShift Container Platform 4.6 RedHat openshift4/ose-logging-elasticsearch6:v4.6.0-202104161407.p0 *
Jackson-databind Ubuntu bionic *
Jackson-databind Ubuntu focal *
Jackson-databind Ubuntu groovy *
Jackson-databind Ubuntu hirsute *
Jackson-databind Ubuntu impish *
Jackson-databind Ubuntu kinetic *
Jackson-databind Ubuntu lunar *
Jackson-databind Ubuntu mantic *
Jackson-databind Ubuntu oracular *
Jackson-databind Ubuntu trusty *
Jackson-databind Ubuntu trusty/esm *
Jackson-databind Ubuntu xenial *

Potential Mitigations

  • Make fields transient to protect them from deserialization.
  • An attempt to serialize and then deserialize a class containing transient fields will result in NULLs where the transient data should be. This is an excellent way to prevent time, environment-based, or sensitive variables from being carried over and used improperly.

References