Spring Data REST SpEL Injection via Map Key in JSON Patch
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 3.7.20, 4.3.17, 4.4.15, 4.5.12, 5.0.6
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- 1 proof of concept on GitHub
- Exploitation: none
- Automatable: no
- Technical impact: total
Summary
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.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: total
- Record last updated
Affected versions
- Spring Spring Data REST
From 3.7.0 · fixed in 3.7.20; From 4.3.0 · fixed in 4.3.17; From 4.4.0 · fixed in 4.4.15; From 4.5.0 · fixed in 4.5.12; From 5.0.0 · fixed in 5.0.6
- org.springframework.data:spring-data-rest-coreMaven
From 5.0.0 · fixed in 5.0.6
- org.springframework.data:spring-data-rest-coreMaven
From 4.5.0 · fixed in 4.5.12
- org.springframework.data:spring-data-rest-coreMaven
From 4.4.0 · through 4.4.14
- org.springframework.data:spring-data-rest-coreMaven
From 4.3.0 · through 4.3.16
- org.springframework.data:spring-data-rest-coreMaven
through 3.7.19