GitHub Advisoryadvisory · Maven

GHSA-rmj7-2vxq-3g9f jackson-databind has an array subtype allowlist bypass in BasicPolymorphicTypeValidator (allowIfSubTypeIsArray)

HIGH Published 2026-06-23 Modified 2026-09-11 Official page ↗
Aliases
CVE-2026-54513
Ecosystem
Maven
Packages
com.fasterxml.jackson.core:jackson-databind, tools.jackson.core:jackson-databind
Severity
High
CVSS vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Weaknesses
CWE-184
Reviewed
2026-06-23

Affected packages

• Maven com.fasterxml.jackson.core:jackson-databind: >= 2.10.0, < 2.18.8 → fixed in 2.18.8 • Maven com.fasterxml.jackson.core:jackson-databind: >= 2.19.0, < 2.21.4 → fixed in 2.21.4 • Maven com.fasterxml.jackson.core:jackson-databind: >= 3.0.0, < 3.1.4 → fixed in 3.1.4 • Maven tools.jackson.core:jackson-databind: >= 3.0.0, < 3.1.4 → fixed in 3.1.4

Description

Summary `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. Impact Applications using `BasicPolymorphicTypeValidator` with `allowIfSubTypeIsArray()` as a safeguard get no protection for concrete array component types; an attacker controlling JSON can instantiate non-allowlisted types via an array wrapper, re-opening the gadget-instantiation risk PTV is meant to prevent. Affected / Patched (verified via `git tag --contains`) • 2.18 line: `>= 2.10.0, fixed in 2.18.8 • 2.19-2.21 line: `>= 2.19.0, fixed in 2.21.4 • 3.x line: `>= 3.0.0, fixed in 3.1.4 `PolymorphicTypeValidator` was added in 2.10.0 so vulnerability N/A for versions prior to that. Severity / CWE Maintainer: significant. Reporter: HIGH. CWE-184 (Incomplete List of Disallowed Inputs); related CWE-502. Upstream fix FasterXML/jackson-databind#5981; fix PR #5983 (`24529da`), 2.18 backport PR #5984 (`01d1692`). Released 2026-06-04 in 2.18.8 / 2.21.4 / 3.1.4. Credits Omkhar Arasaratnam (@omkhar) - finder.

Related

Alias · CVE (1)

  • CVE-2026-54513 jackson-databind contains the general-purpose data-binding functionality and tree-model for Jackson Data Processor. vulnerability

Weakness · CWE (1)

  • CWE-184 Incomplete List of Disallowed Inputs weakness

References