CVE-2026-54515: jackson-databind: Case-insensitive deserialization bypasses per-property @JsonIgnoreProperties
Summary In BeanDeserializerBase.createContextual(), per-property @JsonIgnoreProperties exclusions are applied by handleByNameInclusion(), producing a contextual deserializer whose BeanPropertyMap has the ignored properties removed. The subsequent per-property case-insensitivity block (triggered by @JsonFormat(ACCEPTCASEINSENSITIVEPROPERTIES)) rebuilds from this.beanProperties (the original, unfiltered map) instead of contextual.beanProperties, then overwrites the filtered map — restoring every property handleByNameInclusion had just removed. The ignored property becomes writable again.
Impact An application that both enables case-insensitive matching and relies on per-property @JsonIgnoreProperties to keep a field unwritable can have that field set from untrusted JSON (mass-assignment-style write).
Affected / Patched Fixed in 2.18.9, 2.21.5 and 3.1.4.
Severity / CWE Maintainer: minor. Reporter: Moderate. CWE-915.
Upstream fix FasterXML/jackson-databind#5962 (PR #5964, 0e1b0b2), milestone 3.1.4. Released 2026-06-04.
Credits Omkhar Arasaratnam (@omkhar) - finder.
Other sources
jackson-databind contains the general-purpose data-binding functionality and tree-model for Jackson Data Processor. From 2.8.0 until 2.18.9, 2.21.5, and 3.1.4, in BeanDeserializerBase.createContextual(), per-property @JsonIgnoreProperties exclusions are applied by handleByNameInclusion(), producing a contextual deserializer whose BeanPropertyMap has the ignored properties removed. The subsequent per-property case-insensitivity block (triggered by @JsonFormat(ACCEPTCASEINSENSITIVEPROPERTIES)) rebuilds from this.beanProperties (the original, unfiltered map) instead of contextual.beanProperties, then overwrites the filtered map — restoring every property handleByNameInclusion had just removed. The ignored property becomes writable again. This vulnerability is fixed in 2.18.9, 2.21.5, and 3.1.4.
— MITRE
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
maven/com.fasterxml.jackson.core:jackson-databindto a version that resolves this vulnerability.Fixed in 2.21.5 - Upgrade
Upgrade
maven/com.fasterxml.jackson.core:jackson-databindto a version that resolves this vulnerability.Fixed in 2.18.9 - Upgrade
Upgrade
maven/tools.jackson.core:jackson-databindto a version that resolves this vulnerability.Fixed in 3.1.4 - Upgrade
Upgrade
maven/com.fasterxml.jackson.core:jackson-databindto a version that resolves this vulnerability.Fixed in 3.1.4 - Upgrade
Upgrade
FasterXML/jackson-databindto a version that resolves this vulnerability.Fixed in 2.18.9Patch 0e1b0b2 - Upgrade
Upgrade
FasterXML/jackson-databindto a version that resolves this vulnerability.Fixed in 2.21.5Patch 0e1b0b2 - Upgrade
Upgrade
FasterXML/jackson-databindto a version that resolves this vulnerability.Fixed in 3.1.4Patch 0e1b0b2
Event History
Frequently Asked Questions
What is the severity of CVE-2026-54515?
The severity of CVE-2026-54515 is classified as medium with a score of 5.3.
How do I fix CVE-2026-54515?
To fix CVE-2026-54515, update the jackson-databind library to version 2.18.10 or later.
What is affected by CVE-2026-54515?
CVE-2026-54515 affects jackson-databind versions from 2.8.0 to 2.18.9, 2.21.5, and 3.1.4.
What type of vulnerability is CVE-2026-54515?
CVE-2026-54515 is a case-insensitive deserialization bypass vulnerability.
What could be the impact of CVE-2026-54515?
The impact of CVE-2026-54515 may allow attackers to bypass @JsonIgnoreProperties exclusions during deserialization.