GHSA-j388-8rm5-p97f — spring-data-rest-core
HIGHGHSA-j388-8rm5-p97f is a high-severity (CVSS 8.1) Expression Language Injection vulnerability in org.springframework.data:spring-data-rest-core. A fix is available for org.springframework.data:spring-data-rest-core — see the affected versions and patch details below.
Spring Data REST is vulnerable to SpEL expression injection through map-typed properties when processing JSON Patch requests
Exploitation Status
No confirmed exploitation observed yet
- A successful exploit gives an attacker total control of the affected component, not partial access.
- CISA’s own triage has not observed active exploitation or public proof-of-concept code for this CVE as of its last assessment.
Exploitation and automatability from CISA’s SSVC triage for GHSA-j388-8rm5-p97f.
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
How urgent is this, really
GHSA-j388-8rm5-p97f by exploitation likelihood (EPSS) against impact (CVSS). Outside the shaded patch-first corner.
Where this sits among everything scored
Of 379,842 CVEs with a current EPSS score, this one falls in the < 10% band (highlighted). Counts from FIRST.org, log-scaled.
Real-World Exposure
org.springframework.data:spring-data-rest-core☕org.springframework.data:spring-data-rest-core☕org.springframework.data:spring-data-rest-core☕org.springframework.data:spring-data-rest-core☕org.springframework.data:spring-data-rest-coreReal-time download stats are indexed for npm and PyPI packages. This vulnerability affects Maven packages — download data is not available via public APIs for these ecosystems.
Description
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.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| ☕Maven | org.springframework.data:spring-data-rest-core | ≥ 5.0.0&&< 5.0.6 | 5.0.6org.springframework.data:spring-data-rest-core:5.0.6 |
| ☕Maven | org.springframework.data:spring-data-rest-core | ≥ 4.5.0&&< 4.5.12 | 4.5.12org.springframework.data:spring-data-rest-core:4.5.12 |
| ☕Maven | org.springframework.data:spring-data-rest-core | ≥ 4.4.0 | No fix |
| ☕Maven | org.springframework.data:spring-data-rest-core | ≥ 4.3.0 | No fix |
| ☕Maven | org.springframework.data:spring-data-rest-core | all versions | No fix |
Affected Products
spring data restvmwareDetection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for org.springframework.data:spring-data-rest-core, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update org.springframework.data:spring-data-rest-core to 5.0.6 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms GHSA-j388-8rm5-p97f is resolved across your whole dependency graph.
Workarounds
Stop passing untrusted input into the interpreter or shell: call the affected binary with an argument array rather than a composed command string, reject anything outside a strict allowlist of expected values, and run the component under an account that cannot reach beyond the work it legitimately does.
Frequently Asked Questions
Is GHSA-j388-8rm5-p97f in your dependencies?
Find it across Maven, including transitive dependencies.