jackson-databind has an array subtype allowlist bypass in BasicPolymorphicTypeValidator (allowIfSubTypeIsArray)
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, < 2.18.8 -> fixed in 2.18.8 - 2.19-2.21 line: >= 2.19.0, < 2.21.4 -> fixed in 2.21.4 - 3.x line: >= 3.0.0, < 3.1.4 -> 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.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
com.fasterxml.jackson.core:jackson-databindMaven | >= 2.10.0, < 2.18.8 | 2.18.8 |
com.fasterxml.jackson.core:jackson-databindMaven | >= 2.19.0, < 2.21.4 | 2.21.4 |
com.fasterxml.jackson.core:jackson-databindMaven | >= 3.0.0, < 3.1.4 | 3.1.4 |
tools.jackson.core:jackson-databindMaven | >= 3.0.0, < 3.1.4 | 3.1.4 |
Affected products
2- ghsa-coords2 versions
>= 2.10.0, < 2.18.8+ 1 more
- (no CPE)range: >= 2.10.0, < 2.18.8
- (no CPE)range: >= 3.0.0, < 3.1.4
Patches
Vulnerability mechanics
AI mechanics synthesis has not run for this CVE yet.
References
7- github.com/advisories/GHSA-rmj7-2vxq-3g9fghsaADVISORY
- github.com/FasterXML/jackson-databind/commit/01d1692c8d0ed03e51a0e3c4f8a9e6908e4931e5ghsaWEB
- github.com/FasterXML/jackson-databind/commit/24529da29fdf46ff94ca38de9ebf31cd188f5e8eghsaWEB
- github.com/FasterXML/jackson-databind/issues/5981ghsaWEB
- github.com/FasterXML/jackson-databind/issues/5983ghsaWEB
- github.com/FasterXML/jackson-databind/pull/5984ghsaWEB
- github.com/FasterXML/jackson-databind/security/advisories/GHSA-rmj7-2vxq-3g9fghsaWEB
News mentions
0No linked articles in our index yet.