Skip to main content
← All vulnerabilities
CVE-2026-54513GHSA-RMJ7-2VXQ-3G9F

jackson-databind: Array subtype allowlist bypass in BasicPolymorphicTypeValidator (allowIfSubTypeIsArray)

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 2.18.8, 2.21.4, 3.1.4
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: total

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: total

  3. Record last updated

Affected versions

  • FasterXML jackson-databind

    From 2.10.0 · fixed in 2.18.8; From 2.19.0 · fixed in 2.21.4; From 3.0.0 · fixed in 3.1.4

  • com.fasterxml.jackson.core:jackson-databindMaven

    From 2.10.0 · fixed in 2.18.8

  • com.fasterxml.jackson.core:jackson-databindMaven

    From 2.19.0 · fixed in 2.21.4

  • com.fasterxml.jackson.core:jackson-databindMaven

    From 3.0.0 · fixed in 3.1.4

  • tools.jackson.core:jackson-databindMaven

    From 3.0.0 · fixed in 3.1.4

References 6

GitHub · FasterXML/jackson-databind