jackson-databind: Case-insensitive deserialization bypasses per-property @JsonIgnoreProperties
33Vexday Risk Score
No sign of exploitation. It has a public proof of concept.
ssvc Attendcvss 5.3epss 0.3%
from disclosure to weapon45 days
Published on NVDJun 23
1st PoC+45d
exploitation probability
0.3%top 73% of all CVEs
observed exploitation
nono source reports it
1 public exploit(s)
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(ACCEPT_CASE_INSENSITIVE_PROPERTIES)) 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.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
Affected products
FasterXML · jackson-databindpublic PoCs found — 1
githubgithub.com/xiaoqiMikko/jackson-check★ 0⚠ Public resources, to assess the exposure of systems you control or are authorized to test. Test only with authorization.
References
https://github.com/FasterXML/jackson-databind/commit/0e1b0b211f7a53baa62ba2f4c9bd006c7bf4d5fahttps://github.com/FasterXML/jackson-databind/issues/5962https://github.com/FasterXML/jackson-databind/issues/5964https://github.com/FasterXML/jackson-databind/security/advisories/GHSA-5jmj-h7xm-6q6v