Remote Code Execution Vulnerability in jackson-databind: CVE-2018-7489

jackson-databind Updated 02 Oct 2025

Summary

26/02/2018
N/A
Yes i
Critical
9.8

CVE-2018-7489: FasterXML jackson-databind before 2.7.9.3, 2.8.x before 2.8.11.1 and 2.9.x before 2.9.5 allows unauthenticated remote code execution because of an incomplete fix for the CVE-2017-7525 deserialization flaw. Affects jackson-databind across 2 version ranges.

< 2.9.5-1 < 5cacb069a16653844e4c04c2a53578666080c1bb

Fixed in 2.9.5-1. How to fix ↓

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

Upload your dependency manifest or SBOM

Drag & drop your file here or

Java Javascript PHP Python Go Rust Ruby Dart C/C++ Elixir CycloneDX SPDX

Upload a supported dependency manifest or SBOM. No installation or source-code access required.

See supported files and SBOM formats
SBOM sbom.json · bom.json · bom.xml · *.spdx.json · *.cdx.json · *.cdx.xml
Java pom.xml · gradle.lockfile · buildscript-gradle.lockfile
Javascript package-lock.json · yarn.lock · pnpm-lock.yaml
PHP composer.lock
Python poetry.lock · requirements.txt · Pipfile.lock
Go go.mod
Rust Cargo.lock
Ruby Gemfile.lock
Dart pubspec.lock
C/C++ conan.lock
Elixir mix.lock
Enter your work email to receive your report link.

Verify your email to view the full report and start 30 days of continuous monitoring. No credit card required.

Sponsored Devnack Penetration testing for web, API and mobile Manual testing by engineers who build software, not an auditor's checklist. Trusted by teams at Swift and Google Talk to Devnack

Background

jackson-databind is a popular library in the Java ecosystem used for converting Java objects to JSON and vice versa. It is widely utilized in various applications for its efficiency and ease of use. However, the library has been found to be vulnerable to a remote code execution flaw due to improper handling of deserialization, particularly when certain libraries are present in the classpath.

Vulnerability Detail

CVE-2018-7489 is a critical vulnerability affecting versions of jackson-databind prior to 2.9.5. It stems from an incomplete fix for a previous deserialization flaw (CVE-2017-7525). Attackers can exploit this vulnerability by sending specially crafted JSON input to the readValue method of the ObjectMapper, leading to unauthorized remote code execution. This vulnerability is particularly dangerous as it allows unauthenticated users to execute arbitrary code on the server, potentially compromising sensitive data and system integrity.

How To Fix

Minimum fixed version

2.9.5-1

This is the first release that contains the fix.

sudo apt-get install --only-upgrade jackson-databind

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Workaround

If upgrading is not immediately feasible, consider removing the c3p0 library from the classpath, as its presence can bypass the existing blacklist protections. However, this is only a temporary measure and does not fully mitigate the risk associated with the vulnerability.

Conclusion

CVE-2018-7489 is a severe vulnerability in the jackson-databind library that poses significant security risks. It is crucial for developers using this library to upgrade to version 2.9.5 or later to protect their applications from potential exploitation. Regular monitoring for vulnerabilities using tools like Vulert can help maintain application security.

See every vulnerability recorded for jackson-databind →

Share this vulnerability

FAQ

CVE-2018-7489 is a vulnerability in the jackson-databind library that allows unauthenticated remote code execution due to improper deserialization handling.

Versions of jackson-databind prior to 2.9.5 are affected by this vulnerability.

You can use the Vulert platform to monitor and alert for open-source vulnerabilities in your software. Simply upload your manifest file like package-lock.json to check for vulnerabilities.

Exploitation of this vulnerability can lead to unauthorized remote code execution, allowing attackers to compromise the server and access sensitive data.

Yes, temporarily removing the c3p0 library from the classpath can help mitigate the risk, but it is not a permanent solution.

Related vulnerabilities

Recent vulnerabilities recorded for jackson-databind.

How To Fix

Minimum fixed version

2.9.5-1

This is the first release that contains the fix.

sudo apt-get install --only-upgrade jackson-databind

Tip — Not sure which version your app runs? Vulert can match this fix to it. 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