Skip to main content
← All vulnerabilities
CVE-2026-54516GHSA-9FXM-VC8V-HJ55

jackson-databind: Renamed @JsonIgnore'd setters can deserialize via private fields

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

Summary

jackson-databind contains the general-purpose data-binding functionality and tree-model for Jackson Data Processor. From 2.21.0 until 2.21.4 and 3.1.4, POJOPropertiesCollector._renameProperties() allows a property with @JsonProperty("renamed") on the getter and @JsonIgnore on the setter to be renamed rather than dropped. With MapperFeature.INFER_PROPERTY_MUTATORS enabled (default), the private backing field is retained; during deserialization BeanDeserializerFactory.addBeanProps() sees hasField()==true, builds a FieldProperty, and makes the backing field writable. An attacker supplying the renamed JSON key writes the backing field directly, bypassing the @JsonIgnore on the setter. This vulnerability is fixed in 3.1.4.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: yes · Technical impact: partial

  3. Record last updated

Affected versions

  • FasterXML jackson-databind

    From 2.21.0 · fixed in 2.21.4; From 3.0.0 · fixed in 3.1.4

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

    From 2.21.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 5

GitHub · FasterXML/jackson-databind