CVE-2020-8840: Deserialization of Untrusted Data in jackson-databind

Summary

04/03/2020
Yes i
Critical
9.8

CVE-2020-8840: Deserialization of Untrusted Data in jackson-databind. Affects com.fasterxml.jackson.core:jackson-databind across 4 version ranges.

>= 2.0.0, < 2.6.7.4 >= 2.7.0, < 2.7.9.7 >= 2.8.0, < 2.8.11.5 >= 2.9.0, < 2.9.10.3

Fixed in 4 releases; the minimum fixed version depends on the release line you run. How to fix ↓

Also tracked for

The same CVE-2020-8840 is tracked separately for each ecosystem and vendor. Its fix information is the same; the package and affected versions differ.

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Sponsored Devnack Mobile apps built by Devnack Design, build and launch iOS and Android apps with a senior product team. From idea to store release Start a project

Background

The jackson-databind package is a popular Java library used for converting Java objects to JSON and vice versa. It is widely used in various applications and frameworks. However, versions of jackson-databind prior to 2.6.7.4, 2.7.9.7, 2.8.11.5, and 2.9.10.2 are vulnerable to a deserialization vulnerability. This vulnerability can be exploited by an attacker to execute arbitrary code by providing malicious data during deserialization.

Vulnerability Detail

The vulnerability in jackson-databind arises from a lack of certain xbean-reflect/JNDI blocking. This allows an attacker to inject malicious code during the deserialization process, leading to remote code execution. The impact of this vulnerability can be severe, as it allows an attacker to take control of the affected system and perform unauthorized actions.

How To Fix

Fixed versions by release line

The minimum fixed version depends on the release line you run.

  • >= 2.0.0, < 2.6.7.4 2.6.7.4
  • >= 2.7.0, < 2.7.9.7 2.7.9.7
  • >= 2.8.0, < 2.8.11.5 2.8.11.5
  • >= 2.9.0, < 2.9.10.3 2.9.10.3

Tip — Not sure which release line you're on? Vulert can find the fix for the version you are using. Scan free →

Workaround

If upgrading to a fixed version is not immediately possible, a temporary workaround is to disable deserialization of untrusted data. This can be achieved by configuring the jackson-databind library to use a custom deserialization whitelist or by implementing input validation and sanitization to ensure only trusted data is deserialized.

Conclusion

The vulnerability in jackson-databind can lead to remote code execution, allowing an attacker to take control of the affected system. It is crucial to upgrade to a fixed version of jackson-databind or implement the recommended workarounds to mitigate the risk. For further support and assistance in vulnerability remediation, please contact DevNack.com.

See every vulnerability recorded for com.fasterxml.jackson.core:jackson-databind →

Share this vulnerability

FAQ

The vulnerability allows an attacker to execute arbitrary code remotely, potentially leading to a complete compromise of the affected system.

You can use Vulert's playground (https://vulert.com/scanner) to check if your application is affected by this vulnerability. Simply provide your pom.xml file, and Vulert will analyze it for open-source vulnerabilities in real-time.

While specific exploits for this vulnerability may exist, they have not been disclosed publicly at the time of this report. However, it is important to apply the recommended fixes as soon as possible to mitigate the risk.

Yes, the CVSS score for this vulnerability is 9.8, indicating a critical severity level.

For more information about this vulnerability, you can refer to the GitHub Security Advisory database entry: [link to the vulnerability details]

Related vulnerabilities

Recent vulnerabilities recorded for com.fasterxml.jackson.core:jackson-databind.

How To Fix

Fixed versions by release line

The minimum fixed version depends on the release line you run.

  • >= 2.0.0, < 2.6.7.4 2.6.7.4
  • >= 2.7.0, < 2.7.9.7 2.7.9.7
  • >= 2.8.0, < 2.8.11.5 2.8.11.5
  • >= 2.9.0, < 2.9.10.3 2.9.10.3

Tip — Not sure which release line you're on? Vulert can find the fix for the version you are using. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback