Skip to main content

jackson-databind EUVDEUVD-2026-44506

| CVE-2026-59889 MEDIUM
Incorrect Authorization (CWE-863)
2026-07-14 GitHub_M GHSA-5gvw-p9qm-jgwh
6.5
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Identify endpoint using readerWithView() with @JsonUnwrapped+@JsonView target
  2. Delivery
    Craft JSON with privileged field values in flattened (unwrapped) form
  3. Exploit
    Submit request under public/low-privileged view
  4. Execution
    processUnwrapped() skips visibleInView() guard
  5. Persist
    Privileged fields mass-assigned in application object
  6. Impact
    Attacker gains elevated role or manipulated state

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires three co-occurring application-level conditions: (1) the application uses jackson-databind's ObjectMapper with an active view (mapper.readerWithView() or equivalent) as the primary write-side authorization control; (2) at least one Java property in the deserialized class carries both @JsonView(PrivilegedView.class) and @JsonUnwrapped annotations on the same field or setter; and (3) an attacker-controlled caller can submit JSON to the relevant deserialization endpoint under a less-privileged active view. Exploitation is limited to applications that combine these three patterns - standard usage of @JsonUnwrapped without @JsonView-as-auth-guard is not affected. On jackson-databind 3.x with DEFAULT_VIEW_INCLUSION=false, the exposure requires explicit per-field @JsonView annotations on the inner privileged fields as well. The CVSS-assigned PR:L (authenticated low-privilege user) reflects a conservative estimate; when the consuming endpoint is publicly accessible (e.g., a registration form), no prior authentication is required.

Impact

The CVSS 3.1 base score of 6.5 with vector AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N indicates network-reachable, low-complexity exploitation with high integrity impact and no confidentiality or availability consequence. The GHSA advisory demonstrates a public registration endpoint scenario (PR:N in practice when the endpoint is unauthenticated), suggesting the provided PR:L may be conservative; actual exploitability can depend on whether the consuming application exposes the vulnerable deserialization path to unauthenticated callers. EPSS at 0.42% (34th percentile) and SSVC Exploitation: none signal low current exploitation velocity, contrasting with the POC availability. SSVC Automatable: no reflects that successful exploitation requires attacker knowledge of which specific application properties are @JsonUnwrapped and @JsonView-gated - blind mass-assignment attempts would require reconnaissance. The combination of a publicly available POC, a clear write-side privilege escalation primitive (role escalation, balance manipulation), and widespread library usage elevates real-world risk above what the EPSS score alone suggests, particularly for applications that use @JsonView as their primary deserialization-layer write guard. KEV status is absent, so confirmed active exploitation is not established at time of analysis.

Exploit ScenarioDerived

An attacker submits crafted JSON to a self-service registration endpoint that binds the request body using mapper.readerWithView(PublicView.class): fields such as role, approved, and creditBalance - which are annotated @JsonView(AdminView.class) @JsonUnwrapped on the backing AccountFlags object - are silently populated with attacker-supplied values because processUnwrapped() skips the view guard. The result is that the attacker registers as an admin-role, pre-approved user with an arbitrary credit balance without possessing AdminView privileges. A publicly available proof-of-concept reproduces this exact scenario against affected 2.x and 3.x releases.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 22, 2026

jackson-databind's @JsonView authorization guard is bypassable on deserialization when a property carries both @JsonView and @JsonUnwrapped annotations, allowing an authenticated or unauthenticated attacker to mass-assign privileged fields through a less-privileged active view. Affected are com.fasterxml.jackson.core:jackson-databind 2.18.0-2.18.8, 2.21.0-2.21.4, 2.22.0, and tools.jackson.core:jackson-databind 3.0.0-3.1.4, 3.2.0. A publicly available proof-of-concept demonstrates the bypass; SSVC reports no confirmed active exploitation at time of analysis, and EPSS sits at 0.42% (34th percentile), indicating low current threat velocity despite the high-integrity impact.

RemediationAI

The primary remediation is to upgrade jackson-databind to a fixed release: 2.18.9, 2.21.5, or 2.22.1 for the 2.x line, and 3.1.5 or 3.2.1 for the 3.x line. The patch is available via Maven Central and the fix is confirmed in PR #6056 (https://github.com/FasterXML/jackson-databind/pull/6056) and commit d627a8a86fcb062429282f79f3f256f181ed2c7b. For applications that cannot upgrade immediately, a concrete compensating control is to avoid combining @JsonUnwrapped with @JsonView on the same container property; instead, separate the privileged nested object into a non-unwrapped property so the existing BeanDeserializer view gate applies correctly. A second workaround is to perform an explicit allowlist check on sensitive fields in a custom deserializer or @JsonCreator rather than relying solely on @JsonView for write-side authorization - this eliminates the dependency on the missing library-level gate. Note that DEFAULT_VIEW_INCLUSION=true (the 2.x default) means all non-annotated properties are included regardless of view; applications on 3.x with DEFAULT_VIEW_INCLUSION=false have a narrower exposure surface but are still affected where the specific @JsonView + @JsonUnwrapped combination is present. Full advisory: https://github.com/FasterXML/jackson-databind/security/advisories/GHSA-5gvw-p9qm-jgwh.

Affected VersionsENISA

jackson-databind 2.21.0, < 2.21.5
jackson-databind 3.2.0, < 3.2.1
jackson-databind 2.18.0, < 2.18.9
jackson-databind 2.22.0, < 2.22.1
jackson-databind 3.0.0, < 3.1.5

Affected Packages

maven com.fasterxml.jackson.core:jackson-databind fix: 2.18.9, 2.21.5, 2.22.1
maven tools.jackson.core:jackson-databind fix: 3.1.5, 3.2.1
euvd jackson_databind_2_18_0 fix: 2.18.9
euvd jackson_databind_2_21_0 fix: 2.21.5
euvd jackson_databind_2_22_0 fix: 2.22.1
euvd jackson_databind_3_0_0 fix: 3.1.5
euvd jackson_databind_3_2_0 fix: 3.2.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 7 packages in maven, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

jackson-databind (Maven: com.fasterxml.jackson.core:jackson-databind, CPE: cpe:2.3:a:fasterxml:jackson-databind:*:*:*:*:*:*:*:*) is the core JSON data-binding layer of the Jackson Data Processor, ubiquitous in Java/Spring ecosystems. The root cause (CWE-863 - Incorrect Authorization) lies in UnwrappedPropertyHandler.processUnwrapped(): when replaying buffered JSON for an @JsonUnwrapped property it calls prop.deserializeAndSet() without first evaluating the prop.visibleInView(ctxt.getActiveView()) guard. This guard was correctly applied in the parallel method processUnwrappedCreatorProperties() as part of prior fix GHSA-rcqc-6cw3-h962, and is also applied by BeanDeserializer.deserializeWithUnwrapped for directly-matched properties. The missing guard means that a container property annotated @JsonView(AdminView) @JsonUnwrapped has its sub-fields populated from untrusted JSON even when the ObjectMapper is operating under a more restrictive view such as PublicView. The fix (PR #6056, commit d627a8a) adds an activeView != null check and a !prop.visibleInView(activeView) short-circuit continue inside the iteration loop in processUnwrapped().

Know when Jackson Databind gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 6.5 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
vuln.today AI 7.5 HIGH

Archetypal exploit targets a public registration endpoint requiring no authentication; view-bypass is the sole integrity impact with no confidentiality or availability consequence.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
4.0 AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
SUSE MEDIUM
Red Hat 6.5 MEDIUM

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
High
Availability
None

Lifecycle Timeline

2
Patch available
Jul 14, 2026 - 23:20 EUVD
CVE Published
Jul 14, 2026 - 19:57 cve.org
MEDIUM 6.5

DescriptionCVE.org

jackson-databind contains the general-purpose data-binding functionality and tree-model for Jackson Data Processor. From 2.18.0 until 2.18.9, 2.21.5, 2.22.1, 3.1.5, and 3.2.1, UnwrappedPropertyHandler.processUnwrapped() replays buffered JSON for a @JsonUnwrapped property and calls prop.deserializeAndSet() without a prop.visibleInView(ctxt.getActiveView()) guard, allowing a property annotated with both @JsonView and @JsonUnwrapped to be written from attacker JSON under a less-privileged active view. This issue is fixed in versions 2.18.9, 2.21.5, 2.22.1, 3.1.5, and 3.2.1.

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 5,254 maven packages depend on com.fasterxml.jackson.core:jackson-databind (1,718 direct, 3,593 indirect)
  • 378 maven packages depend on tools.jackson.core:jackson-databind (107 direct, 271 indirect)

Ecosystem-wide dependent count for version 2.21.0 and other introduced versions.

Threat Intelligence Overview

EPSS Score
0.4%
Top 66% exploitable
Prevalence
High
core JSON library in most Java/Spring enterprise applications
Threat Intel
1
1 sources
Exploit
POC
Public exploit code exists
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA Vendor GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC Yes
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
High
Technical Impact
Partial

Priority Score

52
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

CVE-2020-11113 HIGH
8.8 Mar 31

FasterXML jackson-databind 2.x before 2.9.10.4 mishandles the interaction between serialization gadgets and typing, rela

CVE-2020-9547 CRITICAL POC
9.8 Mar 02

FasterXML jackson-databind 2.x before 2.9.10.4 mishandles the interaction between serialization gadgets and typing, rela

CVE-2020-9548 CRITICAL POC
9.8 Mar 02

FasterXML jackson-databind 2.x before 2.9.10.4 mishandles the interaction between serialization gadgets and typing, rela

CVE-2020-35728 HIGH
8.1 Dec 27

FasterXML jackson-databind 2.x before 2.9.10.8 mishandles the interaction between serialization gadgets and typing, rela

CVE-2019-12086 HIGH POC
7.5 May 17

A Polymorphic Typing issue was discovered in FasterXML jackson-databind 2.x before 2.9.9. Rated high severity (CVSS 7.5)

CVE-2020-8840 CRITICAL
9.8 Feb 10

FasterXML jackson-databind 2.0.0 through 2.9.10.2 lacks certain xbean-reflect/JNDI blocking, as demonstrated by org.apac

CVE-2020-25649 HIGH POC
7.5 Dec 03

A flaw was found in FasterXML Jackson Databind, where it did not have entity expansion secured properly. Rated high seve

CVE-2019-12384 MEDIUM
5.9 Jun 24

FasterXML jackson-databind 2.x before 2.9.9.1 might allow attackers to have a variety of impacts by leveraging failure t

CVE-2020-35491 HIGH POC
8.1 Dec 17

FasterXML jackson-databind 2.x before 2.9.10.8 mishandles the interaction between serialization gadgets and typing, rela

CVE-2018-7489 CRITICAL
9.8 Feb 26

FasterXML jackson-databind before 2.7.9.3, 2.8.x before 2.8.11.1 and 2.9.x before 2.9.5 allows unauthenticated remote co

CVE-2020-35490 HIGH POC
8.1 Dec 17

FasterXML jackson-databind 2.x before 2.9.10.8 mishandles the interaction between serialization gadgets and typing, rela

CVE-2020-36183 HIGH POC
8.1 Jan 07

FasterXML jackson-databind 2.x before 2.9.10.8 mishandles the interaction between serialization gadgets and typing, rela

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
openSUSE Leap 16.0 Fixed
openSUSE Tumbleweed Fixed
SUSE Linux Enterprise Module for Basesystem 15 SP7 Affected
SUSE Linux Enterprise Server 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy