The vulnerability, identified as GHSA-5hh8-q8hv-fr38, is an authorization bypass in jackson-databind's @JsonView mechanism. The root cause lies within the _deserializeUsingPropertyBased method of the BeanDeserializer class. When deserializing JSON for objects that use a property-based creator (e.g., a constructor with @JsonCreator), this method handles the process. The flaw was that for properties not included in the creator, the code path that buffers these properties for later assignment was missing a crucial check to validate if the property should be visible according to the active @JsonView.
An attacker can exploit this by sending a JSON object containing fields that are meant to be excluded from a specific view (e.g., admin-only fields). When the application deserializes this JSON using a more restrictive view, the vulnerable method incorrectly processes and populates the restricted fields, leading to a mass assignment vulnerability.
The analysis of the fixing commits (94c5d21 for the 2.x branch and 5bf23ed for the 3.x branch) confirms this. Both patches introduce the same logic: an explicit check !prop.visibleInView(activeView) is added to the property-buffering section of _deserializeUsingPropertyBased. This ensures that properties are filtered based on the active view before being buffered, closing the security gap. The two different package names (com.fasterxml.jackson.databind and tools.jackson.databind) correspond to the different major versions of the library, hence two vulnerable functions are listed.