CVE-2016-1000027 Resolution
Information on the resolution of CVE-2016-1000027 in NES for Spring
CVE-2016-1000027 Resolution
This CVE does not impact Spring Framework itself. However, certain versions of the framework include RPC-style remote communication support (including HTTP Invoker), which allows developers to write custom application code that may be vulnerable to Remote Code Execution as outlined in the CVE.
Removing the feature from spring-web
artifact, might break existing non-vulnerable applications that rely on this functionality. Therefore, the NES for Spring does not remove the HTTP Invoker feature from the spring-web
artifact.
As of release nes-v5.3.27 spring-web artifact will include a new jar under the classifier no-remoting
. This jar will not include the HTTP Invoker feature, and it is intended for applications that do not use this functionality. The spring-web
artifact will continue to include the HTTP Invoker feature for backward compatibility.
How to Use the no-remoting
Classifier
Use the no-remoting
classifier to exclude the HTTP Invoker feature from your application. This is particularly useful if you are certain that your application does not use this functionality and you want to avoid any potential security risks associated with it.
You will need to exclude the spring-web
dependency from your project and add the spring-web
with the no-remoting
classifier instead.
Gradle example:
implementation('org.springframework.boot:spring-boot-starter-web') {
exclude group: "org.springframework", module: "spring-web"
}
implementation group: 'org.springframework', name: 'spring-web', classifier: 'no-remoting'
Maven example:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<classifier>no-remoting</classifier>
</dependency>
Additional Information
You can read more about the CVE and its implications in the CVE-2016-1000027 vulnerability entry.
Example application using the no-remoting
classifier can be found in the sample-spring-boot-2-7-no-remoting