CVE-2026-54517

Authorization Bypass
Affects
jackson-databind
in
Jackson
No items found.
Versions
>=2.9.0 <2.18.8, >=2.19.0 <2.21.4
Exclamation circle icon
Patch Available

This Vulnerability has been fixed in the Never-Ending Support (NES) version offered by HeroDevs.

Overview

jackson-databind is the general-purpose data-binding package of the FasterXML Jackson suite. It provides full data-binding (object serialization and deserialization) on top of the Jackson streaming parser/generator (jackson-core) and the Jackson annotations (jackson-annotations), and is one of the most widely used JSON libraries for Java.

An authorization bypass vulnerability (CVE-2026-54517) has been identified in jackson-databind, which allows attackers to populate view-restricted properties from untrusted JSON when a type is deserialized with an active @JsonView. The active-view filter is enforced for properties that are constructor parameters but is not enforced for regular (setterless or merging) collection and map properties that route through the property-based-creator buffering path, so a value that the active view was meant to hide can be written during bean construction.

Per OWASP: the product performs an authorization check when an actor attempts to access a resource or perform an action, but it does not correctly perform the check. This allows attackers to bypass intended access restrictions.

This issue affects jackson-databind versions from 2.9.0 up to but not including the fixed 2.18.8 and 2.21.4 releases.

Details

Module Info

Vulnerability Info

This Medium-severity vulnerability is found in the com.fasterxml.jackson.core:jackson-databind package in versions from 2.9.0 up to but not including the fixed 2.18.8 and 2.21.4 releases of jackson-databind. When a type is deserialized through a property-based creator (for example a @JsonCreator constructor or factory whose parameters carry @JsonProperty), BeanDeserializer._deserializeUsingPropertyBased walks the incoming JSON property by property and computes the active view once at the top of the method:

final Class<?> activeView = _needViewProcesing ? ctxt.getActiveView() : null;

The branch that handles a creator parameter honors that view, skipping a property the active view is not allowed to see:

// creator property?
if (creatorProp != null) {
    Object value;
    if ((activeView != null) && !creatorProp.visibleInView(activeView)) {
        p.skipChildren();
        continue;
    }
    // ...
}

The branch that handles a regular property (one that is not a creator parameter, such as a setterless collection or map that Jackson mutates in place) performs no equivalent check before buffering the value:

// regular property? needs buffering
SettableBeanProperty prop = _beanProperties.find(propName);
if (prop != null) {
    buffer.bufferProperty(prop, _deserializeWithErrorWrapping(p, ctxt, prop));
    continue;
}

Because the buffering branch never consults prop.visibleInView(activeView), a view-restricted property (for example one annotated for an administrator-only view) is populated from attacker-controlled JSON even when the read is performed under a more restrictive view. The view that was intended to gate which fields a caller may set is silently bypassed for these properties, allowing an integrity-affecting mass-assignment of data the caller should not be able to write.

This vulnerability was introduced in 2016 with jackson-databind 2.9.

Mitigation

Only recent versions of jackson-databind are community-supported. The affected 2.13.x, 2.14.x, and 2.15.x lines are End-of-Life and have no publicly available fix for this issue; NES for Jackson is the remedy for those lines.

Users of the affected components should apply one of the following mitigations:

  • Upgrade jackson-databind to a currently supported 2.x release that contains the fix.
  • Leverage a commercial support partner like HeroDevs for post-EOL security support.

Credits

Vulnerability Details
Severity
Level
CVSS Assessment
Low
>=0 <4
Medium
>=4 <6
High
>=6 <8
Critical
>=8 <10
Medium
ID
CVE-2026-54517
PROJECT Affected
jackson-databind
Versions Affected
>=2.9.0 <2.18.8, >=2.19.0 <2.21.4
NES Versions Affected
Published date
June 23, 2026
≈ Fix date
June 23, 2026
Category
Authorization Bypass
Vex Document
Download VEXHow do I use it?
Sign up for the latest vulnerability alerts fixed in
NES for Jackson
Rss feed icon
Subscribe via RSS
or

By clicking “submit” I acknowledge receipt of our Privacy Policy.

Thanks for signing up for our Newsletter! We look forward to connecting with you.
Oops! Something went wrong while submitting the form.