Skip to main content

Spring Data REST CVE-2026-47850

| EUVDEUVD-2026-66820 MEDIUM
Improperly Controlled Modification of Dynamically-Determined Object Attributes (CWE-915)
2026-08-26 vmware GHSA-qmj8-w7c8-vhgx
4.3
CVSS 3.1 · Vendor: vmware
View

Attack ChainAIDerived

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

  1. Access
    Authenticate with low-privilege account
  2. Delivery
    Identify Spring Data REST PUT endpoint for immutable versioned entity
  3. Exploit
    Craft HTTP PUT request targeting the resource
  4. Execution
    Framework strips @Version field during immutable object binding
  5. Persist
    Persistence layer skips optimistic lock check
  6. Impact
    Entity 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 @Version annotation for optimistic locking, and Spring Data REST exposes an HTTP PUT endpoint for that entity. Applications using mutable entity designs, not using @Version, or not exposing PUT via Spring Data REST are not affected. These conditions are non-default and require deliberate architectural choices; standard mutable-entity Spring Data REST deployments are unaffected. Exploitation is further limited by the authentication requirement - unauthenticated access is not possible per the CVSS PR:L metric.

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, @Version annotation usage, and HTTP PUT endpoint exposure via Spring Data REST, which is a non-default combination even in Spring shops. Data integrity risk is real in concurrent-write applications, but immediate exploitation urgency is low for organizations without this specific configuration.

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 @Version. The framework constructs a new immutable instance from the request body but fails to populate the version field from the database state, causing the persistence layer to skip optimistic lock validation. In a concurrent environment, a second user's legitimate update is silently overwritten without any conflict error returned to either client.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – 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

Spring Data REST 0 ≤3.7.20
Spring Data REST 5.1.0
Spring Data REST 4.5.0 ≤4.5.12
Spring Data REST 5.0.0 ≤5.0.6
Spring Data REST 4.0.0 ≤4.4.15

Affected Packages

euvd spring_data_rest no fix

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

Vendor (vmware) PRIMARY 4.3 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
vuln.today AI 4.3 MEDIUM

Network-reachable HTTP PUT endpoint requires authenticated low-privilege write access; version stripping produces limited integrity impact with no confidentiality or availability effect.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (vmware).

CVSS VectorVendor: vmware

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

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

EPSS Score
0.2%
Top 93% exploitable
Prevalence
Medium
widely used in Java Spring enterprise REST applications
Data Quality
6 sources
Confidence: High

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 No
EPSS 0.2%
Patch available No
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
Medium
Technical Impact
Partial

Priority Score

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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

More in Spring

View all
CVE-2025-41243 CRITICAL POC
10.0 Sep 16

Spring Cloud Gateway Server Webflux may be vulnerable to Spring Environment property modification. Rated critical severi

CVE-2025-70982 CRITICAL POC
9.9 Jan 26

Access control bypass in SpringBlade v4.5.0 importUser function allows low-privileged users to import sensitive user dat

CVE-2026-22739 HIGH POC
8.6 Mar 24

Spring Cloud Config Server contains a path traversal vulnerability when using the native file system backend, allowing u

CVE-2025-41242 MEDIUM POC
5.9 Aug 18

Spring Framework MVC applications can be vulnerable to a “Path Traversal Vulnerability” when deployed on a non-compliant

CVE-2025-70983 CRITICAL
9.9 Jan 23

SpringBlade v4.5.0 has an access control flaw in authRoutes allowing low-privileged users to escalate to admin through t

CVE-2026-41699 CRITICAL
9.8 Jun 11

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

CVE-2026-59313 CRITICAL
9.8 Aug 27

Server-Sent Events (SSE) stream corruption affects Spring MVC applications built on the functional web framework across

CVE-2026-22738 CRITICAL
9.8 Mar 27

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

CVE-2026-41855 CRITICAL
9.8 Jun 09

Unsafe JSON deserialization in Spring Framework's JMS message converters (MappingJackson2MessageConverter and JacksonJso

CVE-2025-41232 CRITICAL
9.1 May 21

Spring Security Aspects may not correctly locate method security annotations on private methods. Rated critical severity

CVE-2026-59283 CRITICAL
9.1 Aug 27

Safety-guard bypass in the Spring Framework SpEL engine (VMware/Broadcom) lets attacker-controlled expression input esca

CVE-2026-40982 CRITICAL
9.1 May 07

Directory traversal in Spring Cloud Config server module allows remote unauthenticated attackers to read arbitrary files

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