Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate with low-privilege account
-
DeliveryIdentify Spring Data REST PUT endpoint for immutable versioned entity
-
ExploitCraft HTTP PUT request targeting the resource
-
ExecutionFramework strips @Version field during immutable object binding
-
PersistPersistence layer skips optimistic lock check
-
ImpactEntity state overwritten without conflict detection
Vulnerability Assessment
| Weakness |
CWE
|
| Exploitation Conditions | Exploitation requires authenticated access with at least low-privilege write permissions to the target endpoint (CVSS PR:L confirmed by vendor vector). The vulnerable code path is triggered only when three conditions are simultaneously met: the application models an entity as an immutable aggregate root type (constructor-only initialization, no setters), that entity uses the |
| Impact | The vendor-assigned CVSS 4.3 Medium score correctly reflects the constrained real-world impact: network-reachable but authenticated (PR:L), low complexity, and limited to partial integrity loss with no confidentiality or availability effect. EPSS data was not provided in the available intelligence, and the vulnerability is absent from the CISA KEV catalog, indicating no confirmed active exploitation or widespread threat actor interest. No public exploit code is identified at time of analysis. The practical threat is narrower than the network-accessible vector initially suggests - exploitation requires the simultaneous presence of an immutable aggregate root type, |
| Exploit ScenarioDerived | An authenticated low-privilege user with write access to a Spring Data REST endpoint sends an HTTP PUT request targeting an immutable aggregate root entity annotated with |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 27, 2026
Spring Data REST's HTTP PUT handler silently drops the persisted @Version field when writing immutable aggregate root types, bypassing the framework's optimistic locking mechanism. Affected release trains span versions 3.x through 5.1.0, covering a broad surface of Spring-based enterprise REST APIs that use versioned immutable entities. An authenticated low-privilege attacker can exploit this to perform lost-update attacks - overwriting entity state without triggering concurrency conflict detection - undermining data integrity guarantees in concurrent-write environments. No public exploit code exists and the vulnerability is not listed in CISA KEV at time of analysis.
RemediationAI
Consult the vendor advisory at https://spring.io/security/cve-2026-47850 for exact patched release versions - the available data identifies affected ranges but does not specify fixed version numbers for each branch, so citing invented versions here would be inappropriate. As a compensating control pending upgrade, applications can restrict HTTP PUT access to affected immutable aggregate root endpoints via Spring Security URL-level or method-level authorization rules, limiting write access to only trusted principals; this reduces attack surface but does not eliminate the underlying defect and imposes legitimate-client friction. A stronger interim measure is to temporarily disable Spring Data REST's automatic repository export for affected entity types using @RepositoryRestResource(exported = false), completely removing the vulnerable code path at the cost of losing REST access for those aggregates until a patch is applied. Refactoring affected entities from immutable to mutable designs resolves the issue architecturally but requires application-layer changes and testing.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Spring Data REST automatically exposes JPA, MongoDB, and other Spring Data repositories as hypermedia-driven REST endpoints. The @Version annotation on entity fields implements optimistic locking: each write must present the current version token, and the persistence layer rejects stale updates. When an HTTP PUT targets an immutable aggregate root - a type constructed without setters, relying on constructor-based initialization - the framework's binding logic fails to carry the already-persisted version value forward into the new instance, effectively stripping the concurrency guard before the persistence call. The affected CPE is cpe:2.3:a:spring:spring_data_rest:*:*:*:*:*:*:*:* covering all platform variants across the reported version ranges. No CWE is formally assigned, but the flaw maps conceptually to CWE-345 (Insufficient Verification of Data Authenticity) given the bypassed integrity constraint, with secondary relevance to CWE-362 (Concurrent Execution Using Shared Resource With Improper Synchronization) in multi-client scenarios.
Know when Spring 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:L/UI:N/S:U/C:N/I:L/A:N
Network-reachable HTTP PUT endpoint requires authenticated low-privilege write access; version stripping produces limited integrity impact with no confidentiality or availability effect.
Primary rating from Vendor (vmware).
CVSS VectorVendor: vmware
DescriptionCVE.org
Spring Data REST does not preserve the persisted version (@Version) property of an aggregate root when handling an HTTP PUT against an immutable target type. Spring Data REST 5.1.0 Spring Data REST 5.0.0 - 5.0.6 Spring Data REST 4.5.0 - 4.5.12 Spring Data REST 4.0.0 - 4.4.15 Spring Data REST 3.7.20 and earlier
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
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Spring Cloud Gateway Server Webflux may be vulnerable to Spring Environment property modification. Rated critical severi
Access control bypass in SpringBlade v4.5.0 importUser function allows low-privileged users to import sensitive user dat
Spring Cloud Config Server contains a path traversal vulnerability when using the native file system backend, allowing u
Spring Framework MVC applications can be vulnerable to a “Path Traversal Vulnerability” when deployed on a non-compliant
SpringBlade v4.5.0 has an access control flaw in authRoutes allowing low-privileged users to escalate to admin through t
Remote code execution in Spring for GraphQL versions 1.3.0-1.3.8, 1.4.0-1.4.5, and 2.0.0-2.0.3 allows unauthenticated at
Server-Sent Events (SSE) stream corruption affects Spring MVC applications built on the functional web framework across
Spring AI versions 1.0.0 through 1.0.4 and 1.1.0 through 1.1.3 allow unauthenticated remote code execution through Sprin
Unsafe JSON deserialization in Spring Framework's JMS message converters (MappingJackson2MessageConverter and JacksonJso
Spring Security Aspects may not correctly locate method security annotations on private methods. Rated critical severity
Safety-guard bypass in the Spring Framework SpEL engine (VMware/Broadcom) lets attacker-controlled expression input esca
Directory traversal in Spring Cloud Config server module allows remote unauthenticated attackers to read arbitrary files
EUVD-2026-66820
GHSA-qmj8-w7c8-vhgx
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB