GitHub Advisoryadvisory · Maven
GHSA-rmj7-2vxq-3g9f jackson-databind has an array subtype allowlist bypass in BasicPolymorphicTypeValidator (allowIfSubTypeIsArray)
HIGH
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
- https://github.com/FasterXML/jackson-databind/security/advisories/GHSA-rmj7-2vxq-3g9f web
- https://nvd.nist.gov/vuln/detail/CVE-2026-54513 advisory
- https://github.com/FasterXML/jackson-databind/issues/5983 web
- https://github.com/FasterXML/jackson-databind/issues/5981 web
- https://github.com/FasterXML/jackson-databind/pull/5984 web
- https://github.com/FasterXML/jackson-databind/commit/24529da29fdf46ff94ca38de9ebf31cd188f5e8e web
- https://github.com/FasterXML/jackson-databind/commit/01d1692c8d0ed03e51a0e3c4f8a9e6908e4931e5 web
- https://access.redhat.com/errata/RHSA-2026:50849 web
- https://access.redhat.com/errata/RHSA-2026:54435 web
- https://access.redhat.com/errata/RHSA-2026:54622 web
- https://access.redhat.com/errata/RHSA-2026:62260 web
- https://access.redhat.com/errata/RHSA-2026:66488 web
- https://access.redhat.com/errata/RHSA-2026:66545 web
- https://access.redhat.com/security/cve/CVE-2026-54513 web
- https://bugzilla.redhat.com/show_bug.cgi?id=2492010 web
- https://github.com/FasterXML/jackson-databind package
- https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-54513.json web
- https://access.redhat.com/errata/RHSA-2026:36839 web
- https://access.redhat.com/errata/RHSA-2026:40895 web
- https://access.redhat.com/errata/RHSA-2026:41951 web
- https://access.redhat.com/errata/RHSA-2026:43218 web
- https://access.redhat.com/errata/RHSA-2026:43400 web
- https://access.redhat.com/errata/RHSA-2026:44061 web
- https://access.redhat.com/errata/RHSA-2026:44062 web
- https://access.redhat.com/errata/RHSA-2026:44063 web
- https://access.redhat.com/errata/RHSA-2026:44064 web
- https://access.redhat.com/errata/RHSA-2026:44065 web
- https://access.redhat.com/errata/RHSA-2026:44066 web
- https://access.redhat.com/errata/RHSA-2026:44271 web
- https://access.redhat.com/errata/RHSA-2026:48095 web
- https://access.redhat.com/errata/RHSA-2026:48151 web
- https://access.redhat.com/errata/RHSA-2026:50846 web
- https://access.redhat.com/errata/RHSA-2026:50847 web
- https://access.redhat.com/errata/RHSA-2026:50848 web