CVE-2018-1259: XXE with Spring Data’s XMLBeam integration
Spring by Pivotal
Spring Data Commons, versions prior to 1.13 to 1.13.11 and 2.0 to 2.0.6 used in combination with XMLBeam 1.4.14 or earlier versions contain a property binder vulnerability caused by improper restriction of XML external entity references as underlying library XMLBeam does not restrict external reference expansion. An unauthenticated remote malicious user can supply specially crafted request parameters against Spring Data’s projection-based request payload binding to access arbitrary files on the system.
Severity is high unless otherwise noted.
- Spring Data Commons 1.13 to 1.13.11 (Ingalls SR11)
- Spring Data REST 2.6 to 2.6.11 (Ingalls SR11)
- Spring Data Commons 2.0 to 2.0.6 (Kay SR6)
- Spring Data REST 3.0 to 3.0.6 (Kay SR6)
Users of affected versions should apply the following mitigation:
- 1.13.x users should upgrade to 1.13.12 (Ingalls SR12)
- 2.0.x users should upgrade to 2.0.7 (Kay SR7)
- Alternatively, upgrade to XMLBeam 1.4.15
Releases that have fixed this issue include:
- Spring Data REST 2.6.12 (Ingalls SR12)
- Spring Data REST 3.0.7 (Kay SR7)
There are no other mitigation steps necessary.
Note that the vulnerability is only exploitable when using XMLBeam. The use of authentication and authorization for endpoints, both of which are provided by Spring Security, limits exposure to this vulnerability to authorized users.
This issue was identified and responsibly reported by Abago Forgans.
2018-05-09: Initial vulnerability report published