Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify HTTP endpoint accepting JSON into a Record
-
DeliveryCraft payload with strategy-renamed ignored field key
-
ExploitSubmit POST request with crafted JSON body
-
ExecutionJackson _renameUsing() bypasses @JsonIgnore check
-
PersistRecord constructor receives attacker-controlled value
-
ImpactApplication logic consumes tainted field
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V4 - API and Web Service Object attribute protection
|
| Exploitation Conditions | Four conditions must all be true simultaneously for exploitation: (1) The application uses jackson-databind in the affected version range (2.15.0-2.18.7, or 2.19.x-2.21.3, or 3.0.x-3.1.3). (2) The deserialization target is a Java Record type - not a regular POJO class; the POJO code path is explicitly confirmed safe in the PR test suite. (3) The Record or its ObjectMapper is configured with a PropertyNamingStrategy (e.g., SnakeCaseStrategy, KebabCaseStrategy) that renames at least one component. (4) At least one Record component subject to that renaming is annotated with @JsonIgnore. The combination of conditions 2-4 is uncommon in older codebases that predate Java 16, but increasingly present in modern Spring Boot 3.x and Quarkus applications that adopt Records for immutable DTOs. Exploitation is limited to the fields actually annotated @JsonIgnore; non-ignored fields are unaffected. There is no required authentication barrier on the attacker's side - any entity that can submit JSON to a vulnerable deserialization endpoint can attempt the bypass. |
| Impact | The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N, score 6.5) assigns low complexity and no authentication, which is accurate from the attacker's perspective - crafting a JSON payload with a renamed field requires no special tooling or privilege. However, the real-world exploitability is meaningfully constrained by four simultaneous code-level prerequisites (see exploitation_conditions), which substantially reduce the population of vulnerable endpoints. No EPSS value was provided in the input, so exploitation probability cannot be quantified. The vulnerability is not listed in the CISA KEV catalog, and no dedicated public exploit tool has been identified, though the PR test suite constitutes a functional proof of concept. The integrity signal is worth highlighting: the canonical example in the PR test injects the string 'ADMIN' into an 'internalRole' Record field that was explicitly marked @JsonIgnore - in applications where such fields gate authorization decisions, the practical impact escalates well beyond what the 'I:L' base metric suggests. Security teams should treat this as medium-priority with elevated urgency for any Java service that (a) deserializes external JSON into Records, (b) applies a naming strategy, and (c) uses @JsonIgnore to exclude privilege- or security-relevant fields. |
| Exploit ScenarioDerived | An attacker submits a POST request containing JSON payload '{"username":"alice","internal_role":"ADMIN"}' to a REST endpoint that deserializes the body into a Java Record annotated with @JsonNaming(SnakeCaseStrategy.class), where the 'internalRole' component is marked @JsonIgnore. The application's authorization logic subsequently reads 'internalRole' from the deserialized Record object and grants elevated privileges, believing the field cannot be externally supplied. The upstream PR test (RecordIgnoreNamingStrategy5974Test.testRenamedIgnoredRecordComponentBypass) demonstrates this exact flow and constitutes a functional proof of concept. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 14, 2026
Deserialization logic in FasterXML jackson-databind 2.15.0 through 2.18.7, 2.21.3, and 3.1.3 allows unauthenticated remote callers to bypass @JsonIgnore annotations on Java Record types when a PropertyNamingStrategy is configured. The renamed JSON key - e.g., 'internal_role' produced by SnakeCaseStrategy from 'internalRole' - is not registered in the ignore list, so Jackson's constructor-parameter binding accepts the attacker-supplied value despite the developer's explicit exclusion directive. No public exploit tooling has been identified at time of analysis, but the upstream fix PR includes a runnable proof-of-concept test that fully demonstrates the bypass, lowering the bar for independent reproduction.
RemediationAI
Upgrade jackson-databind to version 2.18.8, 2.21.4, or 3.1.4 as appropriate for the branch in use - these are the confirmed fix versions per the upstream GitHub advisory (https://github.com/FasterXML/jackson-databind/security/advisories/GHSA-3pjw-73gf-8qr5) and the merged PR (https://github.com/FasterXML/jackson-databind/pull/5974). The fix is surgical - a null-check and a single _collectIgnorals() call in _renameUsing() - so upgrading is low-risk. For teams unable to patch immediately, a targeted workaround is to replace Java Record types that carry @JsonIgnore fields with standard POJO classes (annotated with @JsonProperty explicitly), since the POJO deserialization path correctly drops ignored properties before renaming runs and is not affected by this bug. A second workaround is to remove the PropertyNamingStrategy from the ObjectMapper or the affected class and instead use explicit @JsonProperty annotations for field name mapping; this eliminates the renaming step that triggers the bypass, at the cost of more verbose annotations. Do not rely on schema validation or upstream API gateways as the sole mitigation, as JSON field name filtering at the gateway layer would need to account for strategy-renamed names and is fragile.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 5 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 (CPE: cpe:2.3:a:fasterxml:jackson-databind:*:*:*:*:*:*:*:*) is the dominant JSON serialization library for the Java ecosystem, used pervasively in Spring Boot, Quarkus, Dropwizard, and similar frameworks. The flaw resides in POJOPropertiesCollector, specifically the interaction between _removeUnwantedIgnorals() and _renameUsing(). For standard POJO classes, Jackson removes @JsonIgnore-marked properties from the property map before renaming runs, so the order is inconsequential. For Java Records (available since Java 16 as a stable feature), the ignore registration happens by recording the component's implicit name - the camelCase field name - into _ignoredPropertyNames. When _renameUsing() subsequently applies a PropertyNamingStrategy, it produces a new string key (e.g., 'internal_role') but never propagates the ignore status to that new key. The fix in commit baa2cdf5/c7c67836 adds a check inside _renameUsing() that detects when an original name is in _ignoredPropertyNames and immediately adds the renamed key to the ignored set via _collectIgnorals(). CWE-915 (Improperly Controlled Modification of Dynamically-Determined Object Attributes) captures the root cause class: the framework's dynamic attribute-binding logic fails to honour an exclusion constraint when attribute names are transformed.
Know when Java 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
AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
Network vector and no privileges required because attacker only needs to submit JSON to an exposed endpoint; AC:L because no per-request complexity is needed once the target endpoint is identified, despite the code-level prerequisites on the server side.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
jackson-databind contains the general-purpose data-binding functionality and tree-model for Jackson Data Processor. From 2.15.0 until 2.18.8, 2.21.4, and 3.1.4, Java Records using a PropertyNamingStrategy can bypass @JsonIgnore because POJOPropertiesCollector._removeUnwantedIgnorals() records an ignored component under its original implicit name before _renameUsing() applies the naming strategy, allowing the renamed JSON key to be assigned to the Record constructor parameter. This issue is fixed in versions 2.18.8, 2.21.4, and 3.1.4.
Blast Radius
ecosystem impact- 6,445 maven packages depend on com.fasterxml.jackson.core:jackson-databind (1,785 direct, 4,669 indirect)
- 378 maven packages depend on tools.jackson.core:jackson-databind (107 direct, 271 indirect)
Ecosystem-wide dependent count for version 2.15.0 and other introduced versions.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m
Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti
Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent
Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug
JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up
Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up
The WLS Security component in Oracle WebLogic Server 10.3.6.0, 12.1.2.0, 12.1.3.0, and 12.2.1.0 allows remote attackers
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow
Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla
The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during
Same technique Authentication Bypass
View allVendor 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 |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP7 | Affected |
| SUSE Linux Enterprise Module for Development Tools 15 SP7 | Affected |
| SUSE Linux Enterprise Server 15 SP7 | Affected |
| SUSE Linux Enterprise Desktop 15 SP7 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP7 | Affected |
| SUSE Linux Enterprise Server 16.0 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Affected |
| SUSE Linux Enterprise Desktop 15 SP7 | Affected |
| SUSE Linux Enterprise Desktop 15 SP7 | Affected |
| SUSE Linux Enterprise Desktop 15 SP7 | Affected |
| SUSE Linux Enterprise Desktop 15 SP7 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP7 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP7 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP7 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP7 | Affected |
| SUSE Linux Enterprise Module for Basesystem 15 SP7 | Affected |
| SUSE Linux Enterprise Module for Basesystem 15 SP7 | Affected |
| SUSE Linux Enterprise Module for Basesystem 15 SP7 | Affected |
| SUSE Linux Enterprise Module for Development Tools 15 SP7 | Affected |
| SUSE Linux Enterprise Server 15 SP7 | Affected |
| SUSE Linux Enterprise Server 15 SP7 | Affected |
| SUSE Linux Enterprise Server 15 SP7 | Affected |
| SUSE Linux Enterprise Server 15 SP7 | Affected |
| SUSE Linux Enterprise Server 16.0 | Affected |
| SUSE Linux Enterprise Server 16.0 | Affected |
| SUSE Linux Enterprise Server 16.0 | Affected |
| SUSE Linux Enterprise Server 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS | Affected |
| SUSE Linux Enterprise Module for Basesystem 15 SP4 | Affected |
| SUSE Linux Enterprise Module for Basesystem 15 SP5 | Affected |
| SUSE Linux Enterprise Module for Basesystem 15 SP6 | Affected |
| SUSE Linux Enterprise Server 15 SP4 | Affected |
| SUSE Linux Enterprise Server 15 SP4-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP5 | Affected |
| SUSE Linux Enterprise Server 15 SP5-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP6 | Affected |
| SUSE Linux Enterprise Server 15 SP6-LTSS | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Affected |
| SUSE Manager Proxy 4.3 | Affected |
| SUSE Manager Proxy LTS 4.3 | Affected |
| SUSE Manager Retail Branch Server 4.3 | Affected |
| SUSE Manager Retail Branch Server LTS 4.3 | Affected |
| SUSE Manager Server 4.3 | Affected |
| SUSE Manager Server LTS 4.3 | Affected |
| SUSE Manager Server Module 4.3 | Affected |
| SUSE Enterprise Storage 7 | Affected |
| SUSE Enterprise Storage 7.1 | Affected |
| SUSE Linux Enterprise Desktop 15 SP2 | Affected |
| SUSE Linux Enterprise Desktop 15 SP3 | Affected |
| SUSE Linux Enterprise Desktop 15 SP4 | Affected |
| SUSE Linux Enterprise Desktop 15 SP5 | Affected |
| SUSE Linux Enterprise Desktop 15 SP6 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP2 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP2-ESPOS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP2-LTSS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3-ESPOS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3-LTSS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP6 | Affected |
| SUSE Linux Enterprise Module for Basesystem 15 SP3 | Affected |
| SUSE Linux Enterprise Module for Development Tools 15 SP2 | Affected |
| SUSE Linux Enterprise Module for Development Tools 15 SP3 | Affected |
| SUSE Linux Enterprise Real Time 15 SP2 | Affected |
| SUSE Linux Enterprise Real Time 15 SP3 | Affected |
| SUSE Linux Enterprise Real Time 15 SP4 | Affected |
| SUSE Linux Enterprise Server 15 SP2 | Affected |
| SUSE Linux Enterprise Server 15 SP2-BCL | Affected |
| SUSE Linux Enterprise Server 15 SP2-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP3 | Affected |
| SUSE Linux Enterprise Server 15 SP3-BCL | Affected |
| SUSE Linux Enterprise Server 15 SP3-LTSS | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP2 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP3 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP4 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP5 | Affected |
| SUSE Manager Proxy 4.1 | Affected |
| SUSE Manager Proxy 4.2 | Affected |
| SUSE Manager Retail Branch Server 4.1 | Affected |
| SUSE Manager Retail Branch Server 4.2 | Affected |
| SUSE Manager Server 4.1 | Affected |
| SUSE Manager Server 4.2 | Affected |
| openSUSE Leap 15.3 | Affected |
| openSUSE Leap 15.4 | Affected |
| openSUSE Leap 15.5 | Affected |
| openSUSE Leap 15.6 | Affected |
| suse/manager/5.0/x86_64/server suse/manager/5.0/x86_64/server-attestation suse/multi-linux-manager/5.1/x86_64/server suse/multi-linux-manager/5.1/x86_64/server-attestation suse/multi-linux-manager/5.2/x86_64/server suse/multi-linux-manager/5.2/x86_64/server-attestation | Affected |
EUVD-2026-43957
GHSA-3pjw-73gf-8qr5
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB