Description
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, in BeanDeserializer._deserializeUsingPropertyBased, the active-view (@JsonView) filter was applied only to creator properties; the regular property-buffering branch performed no prop.visibleInView(activeView) check. A change making SetterlessProperty.isMerging() return true routed setterless Collection/Map properties through this unguarded path, so a setterless collection annotated with a restricted @JsonView is populated from attacker JSON even when the active view excludes it. This vulnerability is fixed in 2.21.4 and 3.1.4.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
FasterXML jackson-databind
>= 2.21.0, < 2.21.4affected>= 3.0.0, < 3.1.4affected
References
- https://github.com/FasterXML/jackson-databind/security/advisories/GHSA-5hh8-q8hv-fr38 ↗
- https://github.com/FasterXML/jackson-databind/pull/5969 ↗
- https://github.com/FasterXML/jackson-databind/pull/5970 ↗
- https://github.com/FasterXML/jackson-databind/commit/5bf23edb4221f7dd2ec8e71ff6d26c61640f261d ↗
- https://github.com/FasterXML/jackson-databind/commit/94c5d215b3af1505098c686405d9641f041a9962 ↗