CVE-2026-47849

Updated on 27 Aug 2026

Severity

7.0 High severity

Details

CVSS score
7.0
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:N

Overview

About vulnerability

Spring Data REST does not guard identifier (@Id) and version (@Version) properties against mutation via RFC 6902 JSON Patch (application/json-patch+json) requests.

The PUT and merge-patch (application/merge-patch+json) code paths explicitly skip these properties during binding. The JSON Patch code path does not apply an equivalent guard, allowing an authenticated client with PATCH access to overwrite them directly.

Overwriting the version property defeats optimistic-locking (lost-update) protection. Overwriting the identifier property can cause the subsequent repository save to silently overwrite a record belonging to a different principal (horizontal privilege escalation).

Affected applications are those that expose a Spring Data REST repository whose entity type declares an identifier or version property that is visible to Jackson’s deserialization model (i.e. the property has a public setter and is not explicitly excluded via @JsonIgnore).

Details

Affected product:
Spring
Affected packages:
Spring Boot @ 2.6.15 (+1776 more)

Fixes