CVE-2026-54513
Modified Modified - Updated After Analysis

Type Confusion in Jackson Databind

Vulnerability report for CVE-2026-54513, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-06-23

Last updated on: 2026-07-09

Assigner: GitHub, Inc.

Description

jackson-databind contains the general-purpose data-binding functionality and tree-model for Jackson Data Processor. From 2.10.0 until 2.18.8, 2.21.4, and 3.1.4, BasicPolymorphicTypeValidator.Builder.allowIfSubTypeIsArray() allowlists any array type based only on clazz.isArray(), without validating the array's component (element) type against the configured allowlist. A PTV built with allowIfSubTypeIsArray() plus an explicit concrete-type allowlist therefore still permits EvilType[] even though EvilType is not allowlisted. When Jackson deserializes the elements and no per-element type IDs are present, it instantiates the component type directly with no further PTV check, bypassing the allowlist. This vulnerability is fixed in 2.18.8, 2.21.4, and 3.1.4.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-06-23
Last Modified
2026-07-09
Generated
2026-07-14
AI Q&A
2026-06-24
EPSS Evaluated
2026-07-13
NVD

Affected Vendors & Products

Showing 3 associated CPEs
Vendor Product Version / Range
fasterxml jackson-databind From 2.10.0 (inc) to 2.18.8 (exc)
fasterxml jackson-databind From 2.19.0 (inc) to 2.21.4 (exc)
fasterxml jackson-databind From 3.0.0 (inc) to 3.1.4 (exc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-184 The product implements a protection mechanism that relies on a list of inputs (or properties of inputs) that are not allowed by policy or otherwise require other action to neutralize before additional processing takes place, but the list is incomplete.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

The vulnerability exists in jackson-databind's BasicPolymorphicTypeValidator.Builder.allowIfSubTypeIsArray() method. This method allowlists any array type based solely on whether the class is an array, without validating the array's component (element) type against the configured allowlist.

As a result, even if there is an explicit allowlist of concrete types, an array of a disallowed type (e.g., EvilType[]) can still be deserialized. When Jackson deserializes such arrays and no per-element type IDs are present, it directly instantiates the component type without further checks, effectively bypassing the allowlist.

This flaw allows potentially unsafe types to be deserialized, which can lead to security issues.

Impact Analysis

This vulnerability can lead to the deserialization of unauthorized or malicious types, which may result in remote code execution or other severe security impacts.

Because the vulnerability allows instantiation of disallowed types, attackers could exploit it to execute arbitrary code, compromise data integrity, or cause denial of service.

The CVSS score of 8.1 indicates a high severity with impacts on confidentiality, integrity, and availability.

Mitigation Strategies

To mitigate this vulnerability, you should upgrade jackson-databind to one of the fixed versions: 2.18.8, 2.21.4, or 3.1.4.

Compliance Impact

CVE-2026-54513 is a high severity vulnerability (CVSS 8.1) in the jackson-databind library that allows bypassing type validation during deserialization, potentially enabling attackers to instantiate arbitrary classes. This can lead to unauthorized code execution or data manipulation.

Such a vulnerability can impact compliance with common standards and regulations like GDPR and HIPAA because it threatens the confidentiality, integrity, and availability of sensitive data processed by applications using the affected library.

If exploited, attackers could gain unauthorized access or modify protected data, violating data protection requirements and potentially leading to breaches of regulatory obligations.

Therefore, organizations using vulnerable versions of jackson-databind may face increased risk of non-compliance with data security standards until the vulnerability is remediated.

Detection Guidance

This vulnerability is related to the Jackson Databind library's deserialization process, specifically in the BasicPolymorphicTypeValidator's handling of array subtypes. Detection typically involves identifying usage of vulnerable versions of jackson-databind (from 2.10.0 up to but not including 2.18.8, 2.21.4, and 3.1.4) in your software stack.

To detect if your system is vulnerable, you can check the version of jackson-databind used by your applications. For example, if you have access to the deployed Java application or its dependencies, you can run commands like:

  • Using Maven dependency tree: mvn dependency:tree | grep jackson-databind
  • Using Gradle dependencies: ./gradlew dependencies | grep jackson-databind
  • Checking the jar manifest or file name for version info: unzip -p jackson-databind.jar META-INF/MANIFEST.MF | grep Implementation-Version

Additionally, to detect exploitation attempts on your network, you can monitor for suspicious deserialization payloads that attempt to instantiate disallowed classes wrapped in arrays. However, no specific network detection commands or signatures are provided in the available resources.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-54513. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart