org.springframework.boot:spring-boot-starter-data-rest@1.4.4.RELEASE vulnerabilities

Direct Vulnerabilities

Known vulnerabilities in the org.springframework.boot:spring-boot-starter-data-rest package. This does not include vulnerabilities belonging to this package’s dependencies.

Automatically find and fix vulnerabilities affecting your projects. Snyk scans for vulnerabilities and provides fixes for free.
Fix for free
Vulnerability Vulnerable Version
  • C
Arbitrary Code Execution

org.springframework.boot:spring-boot-starter-data-rest is a package that provides a flexible and configurable mechanism for writing simple services that can be exposed over HTTP.

Affected versions of this package are vulnerable to Arbitrary Code Execution. It is caused due to the way Spring uses it's own expression language in the Data REST component.

The Spring Expression Language (SpEL) is an expression language (similar to OGNL, MVEL, and JBoss EL) which serves as the foundation for expression evaluation within the Spring portfolio. It supports querying and manipulating an object graph at runtime.

User input was not validated upon sending a PATCH request with a path parameter to spring-data-rest servers. An attacker may sumit a specially crafted PATCH request with a path containing SpEL syntax, and the Spring REST server, would in turn run these expressions.

An example for an invalid PATCH request:

[
    {"op":"replace", "path":"<Malicious SpEL code>", "value": "bar" }
]

How to fix Arbitrary Code Execution?

Upgrade org.springframework.boot:spring-boot-starter-data-rest to version 1.5.9.RELEASE or higher.

[,1.5.9.RELEASE)