Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain low-privilege app credentials
-
DeliveryEnumerate REST repository endpoints exposing Map properties
-
ExploitCraft JSON Patch with SpEL payload in path segment
-
ExecutionSend PATCH with application/json-patch+json
-
PersistSpEL evaluated server-side during map navigation
-
ImpactExfiltrate data or tamper with entity state
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Expression language sanitization
|
| Exploitation Conditions | Exploitation requires four specific conditions drawn from the CVE description and CVSS vector: (1) the target application must be Spring Data REST 3.7.0-3.7.19, 4.3.0-4.3.16, 4.4.0-4.4.14, 4.5.0-4.5.11, or 5.0.0-5.0.5; (2) at least one exposed persistent entity must declare a Map-typed property that Spring Data REST renders as a patchable resource; (3) the attacker must be able to submit a request with Content-Type application/json-patch+json to the resource endpoint; and (4) per CVSS PR:L, the attacker must hold a low-privilege authenticated account permitted to PATCH the affected resource. Limiting factors: applications without Map-typed entity properties, deployments that disable JSON Patch support, or those that require high-privilege roles for PATCH on these endpoints are not exploitable; UI:N means no victim interaction is needed once those conditions are met. |
| Impact | The CVSS vector (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N) indicates a network-reachable, low-complexity attack requiring only low privileges and no user interaction, with high confidentiality and integrity impact but no availability impact - consistent with data exfiltration or tampering via expression evaluation rather than denial of service. The PR:L requirement means the attacker needs at least an authenticated low-privilege account on the application, which materially limits opportunistic mass exploitation but does not protect deployments where self-registration or low-trust user accounts can reach REST endpoints. EPSS and CISA KEV data were not provided in the input, and no public exploit identified at time of analysis; however, the CWE-917 class is historically very automatable once a working payload is published, and the vendor advisory at spring.io/security/cve-2026-41729 should be monitored for patch confirmation. Treat as a high-priority patching item for any internet-facing Spring Data REST deployment that exposes Map-typed properties through JSON Patch. |
| Exploit ScenarioDerived | An attacker with a low-privilege application account discovers a Spring Data REST endpoint backed by an entity containing a Map field (e.g., /people/42 where Person has a Map<String,String> attributes). They send a PATCH request with Content-Type application/json-patch+json whose 'path' member encodes a malicious SpEL expression in place of a map key - for example, '/attributes/T(java.lang.Runtime).getRuntime().exec(...)' - causing the server to evaluate the expression during patch processing and leak data or modify state. No public exploit identified at time of analysis, but the technique mirrors prior public SpEL injection PoCs. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 10, 2026
Server-Side Expression Language (SpEL) injection in Spring Data REST allows authenticated remote attackers to execute arbitrary expressions by sending JSON Patch requests targeting Map-typed entity properties. Affected versions span 3.7.0 through 5.0.5, and successful exploitation yields high confidentiality and integrity impact (CVSS 8.1). No public exploit identified at time of analysis, but the low attack complexity and network reachability make this a credible threat to any exposed REST repository accepting application/json-patch+json.
RemediationAI
Upgrade Spring Data REST to a fixed maintenance release above the listed ranges - patch available per vendor advisory at https://spring.io/security/cve-2026-41729; consult that advisory for the exact fixed version corresponding to your branch (3.7.x, 4.3.x, 4.4.x, 4.5.x, or 5.0.x) since no specific fixed version was independently confirmed in the data provided. If patching cannot be done immediately, compensating controls include rejecting or stripping the application/json-patch+json content type at an upstream proxy or WAF for endpoints backed by repositories that expose Map-typed properties (side effect: clients lose JSON Patch semantics and must fall back to PUT/PATCH with merge-patch), restricting REST repository access to authenticated administrative roles only via Spring Security method/URL rules (side effect: breaks any legitimate low-privilege REST API consumers), or refactoring affected entities to remove Map-typed properties from the exposed projection using @RestResource(exported = false) or DTO projections (side effect: API contract change for clients depending on those fields).
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 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
Spring Data REST automatically exposes Spring Data repositories as hypermedia-driven HTTP resources and supports JSON Patch (RFC 6902) over the application/json-patch+json content type to mutate persistent entities. When the underlying entity declares a Map-typed property, the framework uses Spring's Expression Language (SpEL) to navigate to the target element, and the JSON Pointer path segment supplied by the client is interpolated directly into the SpEL expression. This matches CWE-917 (Improper Neutralization of Special Elements used in an Expression Language Statement), the same root-cause class behind prior Spring SpEL RCE incidents such as CVE-2022-22963 and CVE-2018-1273, where untrusted input reaches SpEL evaluation without sanitization or use of a restricted SimpleEvaluationContext.
Know when Spring Data Rest 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:H/I:H/A:N
Primary rating from Vendor (vmware) · only source for this CVE.
CVSS VectorVendor: vmware
Lifecycle Timeline
1DescriptionCVE.org
Spring Data REST is vulnerable to SpEL expression injection through map-typed properties when processing JSON Patch (application/json-patch+json) requests. When a persistent entity exposes a Map-typed property, the JSON Pointer path segment used as the map key is embedded directly into a SpEL expression without sanitization or validation.
Affected versions: Spring Data REST 3.7.0 through 3.7.19; 4.3.0 through 4.3.16; 4.4.0 through 4.4.14; 4.5.0 through 4.5.11; 5.0.0 through 5.0.5.
Blast Radius
ecosystem impact- 6 maven packages depend on org.springframework.data:spring-data-rest-core (1 direct, 5 indirect)
Ecosystem-wide dependent count for version 5.0.0.
Executive ViewAI
Spring Data REST versions 3.7.0 through 5.0.5 contain a Server-Side Expression Language injection flaw enabling authenticated attackers to execute arbitrary code via JSON Patch requests. Organizations running these versions expose REST endpoints to insider threats and account-compromise attacks with significant impact to data confidentiality and integrity.
No vendor-released patch identified at time of analysis. Interim mitigations: (1) Disable JSON Patch support (application/json-patch+json) at the application or reverse proxy level if operationally feasible; (2) Implement strict input validation rejecting requests containing SpEL syntax patterns including #{...} and ${...}; (3) Deploy WAF rules to block suspicious HTTP Patch requests to REST endpoints before application processing; (4) Restrict REST API network exposure through segmentation and firewall rules; (5) Enable detailed HTTP request logging for all Patch operations with automated alerting on anomalous patterns.
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
Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.
Related Vulnerabilities in Spring Data REST Access Control and Injection Flaws
View all 4More in Spring Data Rest
View allSpring Data Commons, versions prior to 1.13 to 1.13.10, 2.0 to 2.0.5, and older unsupported versions, contain a property
Malicious PATCH requests submitted to servers using Spring Data REST versions prior to 2.6.9 (Ingalls SR9), versions pri
Spring Data Commons, versions 1.13 prior to 1.13.12 and 2.0 prior to 2.0.7, used in combination with XMLBeam 1.4.14 or e
Spring Data Commons, versions 1.13 to 1.13.10, 2.0 to 2.0.5, and older unsupported versions, contain a property path par
Spring Data REST fails to protect entity identifier (@Id) and optimistic-locking version (@Version) fields from mutation
In Spring Data REST versions 3.4.0 - 3.4.13, 3.5.0 - 3.5.5, and older unsupported versions, HTTP resources implemented b
Spring Data REST's HTTP PUT handler silently drops the persisted `@Version` field when writing immutable aggregate root
Applications that allow HTTP PATCH access to resources exposed by Spring Data REST in versions 3.6.0 - 3.5.5, 3.7.0 - 3.
EUVD-2026-35906
GHSA-j388-8rm5-p97f
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB