Java 如何处理漏洞CVE-2018-1258,同时使用Spring Security版本5和外国客户端(最新版本)?

Java 如何处理漏洞CVE-2018-1258,同时使用Spring Security版本5和外国客户端(最新版本)?,java,spring,spring-boot,spring-security,spring-cloud-feign,Java,Spring,Spring Boot,Spring Security,Spring Cloud Feign,在我们的项目中,我们使用的是SpringSecurityVersion5.1.5.RELEASE,我想使用外部客户端。目前,我们有SpringCloudOpenFeign来实现其他RESTAPI的客户端 但是安全检查显示存在一个严重性很高的漏洞,这是因为我们使用的是SpringSecurity5的较低版本,但这些是可用的最新版本之一 现在是春天- ext.springBootVersion = "2.1.6.RELEASE" ext.springCloudVersion = "2.1.3.REL

在我们的项目中,我们使用的是SpringSecurityVersion5.1.5.RELEASE,我想使用外部客户端。目前,我们有SpringCloudOpenFeign来实现其他RESTAPI的客户端

但是安全检查显示存在一个严重性很高的漏洞,这是因为我们使用的是SpringSecurity5的较低版本,但这些是可用的最新版本之一

现在是春天-

ext.springBootVersion = "2.1.6.RELEASE"
ext.springCloudVersion = "2.1.3.RELEASE"
ext.springSecurityVersion = "5.1.5.RELEASE"

"org.springframework.boot:spring-boot-starter-web:${springBootVersion}",
"org.springframework.boot:spring-boot-starter-actuator:${springBootVersion}",
"org.springframework.boot:spring-boot-starter-security:${springBootVersion}",
"org.springframework.boot:spring-boot-starter-hateoas:${springBootVersion}",
"org.springframework.security.oauth.boot:spring-security-oauth2-autoconfigure:${springBootVersion}",
"org.springframework.cloud:spring-cloud-starter-openfeign:${springCloudVersion}",
"org.springframework.cloud:spring-cloud-security:${springCloudVersion}"

有没有办法解决这个问题,或者我必须删除外挂客户端并自己实现它?

理想情况下,根据Spring,这不应该适用于您的情况

缓解

使用SpringFramework5.x的用户应该避免使用SpringFramework5.0.5.0版本。更新至Spring Security 5.0.5.0版本+ 或者Spring Boot 2.0.2。RELEASE+引入了Spring框架 5.0.6.发布+传递。但是,用户应该确定其他依赖项管理机制也会更新以使用Spring Framework 5.0.6.0或更新版本。 利用Spring框架的用户 4.x Spring Security 4.x或Spring Boot 1.x不受影响,因此无需采取任何步骤。 不需要其他缓解措施。
理想情况下,这不适用于您的情况,根据Spring

缓解

使用SpringFramework5.x的用户应该避免使用SpringFramework5.0.5.0版本。更新至Spring Security 5.0.5.0版本+ 或者Spring Boot 2.0.2。RELEASE+引入了Spring框架 5.0.6.发布+传递。但是,用户应该确定其他依赖项管理机制也会更新以使用Spring Framework 5.0.6.0或更新版本。 利用Spring框架的用户 4.x Spring Security 4.x或Spring Boot 1.x不受影响,因此无需采取任何步骤。 不需要其他缓解措施。
与外国客户没有直接关系,但与CVE-2018-1258假阳性有关

这仅适用于使用gradle dependencyCheck插件时。有一个问题

目前最新的弹簧靴2.3.0,在发动机罩下使用弹簧安全5.3.2,显示假阳性:

spring-security-oauth2-resource-server-5.3.2.RELEASE.jar (pkg:maven/org.springframework.security/spring-security-oauth2-resource-server@5.3.2.RELEASE, cpe:2.3:a:pivotal:spring_security_oauth:5.3.2:*:*:*:*:*:*:*, cpe:2.3:a:pivotal_software:spring_security:5.3.2:*:*:*:*:*:*:*, cpe:2.3:a:pivotal_software:spring_security_oauth:5.3.2:*:*:*:*:*:*:*) : CVE-2018-1258
spring-security-oauth2-jose-5.3.2.RELEASE.jar (pkg:maven/org.springframework.security/spring-security-oauth2-jose@5.3.2.RELEASE, cpe:2.3:a:pivotal:spring_security_oauth:5.3.2:*:*:*:*:*:*:*, cpe:2.3:a:pivotal_software:spring_security:5.3.2:*:*:*:*:*:*:*, cpe:2.3:a:pivotal_software:spring_security_oauth:5.3.2:*:*:*:*:*:*:*) : CVE-2018-1258
spring-security-web-5.3.2.RELEASE.jar (pkg:maven/org.springframework.security/spring-security-web@5.3.2.RELEASE, cpe:2.3:a:pivotal_software:spring_security:5.3.2:*:*:*:*:*:*:*) : CVE-2018-1258
spring-security-oauth2-core-5.3.2.RELEASE.jar (pkg:maven/org.springframework.security/spring-security-oauth2-core@5.3.2.RELEASE, cpe:2.3:a:pivotal:spring_security_oauth:5.3.2:*:*:*:*:*:*:*, cpe:2.3:a:pivotal_software:spring_security:5.3.2:*:*:*:*:*:*:*, cpe:2.3:a:pivotal_software:spring_security_oauth:5.3.2:*:*:*:*:*:*:*) : CVE-2018-1258
spring-security-config-5.3.2.RELEASE.jar (pkg:maven/org.springframework.security/spring-security-config@5.3.2.RELEASE, cpe:2.3:a:pivotal_software:spring_security:5.3.2:*:*:*:*:*:*:*) : CVE-2018-1258
spring-security-core-5.3.2.RELEASE.jar (pkg:maven/org.springframework.security/spring-security-core@5.3.2.RELEASE, cpe:2.3:a:pivotal_software:spring_security:5.3.2:*:*:*:*:*:*:*) : CVE-2018-1258
spring-security-crypto-5.3.2.RELEASE.jar (pkg:maven/org.springframework.security/spring-security-crypto@5.3.2.RELEASE, cpe:2.3:a:pivotal_software:spring_security:5.3.2:*:*:*:*:*:*:*) : CVE-2018-1258

该漏洞表示它仅与5.0.5相关。

与外国客户没有直接关系,但与CVE-2018-1258假阳性相关

这仅适用于使用gradle dependencyCheck插件时。有一个问题

目前最新的弹簧靴2.3.0,在发动机罩下使用弹簧安全5.3.2,显示假阳性:

spring-security-oauth2-resource-server-5.3.2.RELEASE.jar (pkg:maven/org.springframework.security/spring-security-oauth2-resource-server@5.3.2.RELEASE, cpe:2.3:a:pivotal:spring_security_oauth:5.3.2:*:*:*:*:*:*:*, cpe:2.3:a:pivotal_software:spring_security:5.3.2:*:*:*:*:*:*:*, cpe:2.3:a:pivotal_software:spring_security_oauth:5.3.2:*:*:*:*:*:*:*) : CVE-2018-1258
spring-security-oauth2-jose-5.3.2.RELEASE.jar (pkg:maven/org.springframework.security/spring-security-oauth2-jose@5.3.2.RELEASE, cpe:2.3:a:pivotal:spring_security_oauth:5.3.2:*:*:*:*:*:*:*, cpe:2.3:a:pivotal_software:spring_security:5.3.2:*:*:*:*:*:*:*, cpe:2.3:a:pivotal_software:spring_security_oauth:5.3.2:*:*:*:*:*:*:*) : CVE-2018-1258
spring-security-web-5.3.2.RELEASE.jar (pkg:maven/org.springframework.security/spring-security-web@5.3.2.RELEASE, cpe:2.3:a:pivotal_software:spring_security:5.3.2:*:*:*:*:*:*:*) : CVE-2018-1258
spring-security-oauth2-core-5.3.2.RELEASE.jar (pkg:maven/org.springframework.security/spring-security-oauth2-core@5.3.2.RELEASE, cpe:2.3:a:pivotal:spring_security_oauth:5.3.2:*:*:*:*:*:*:*, cpe:2.3:a:pivotal_software:spring_security:5.3.2:*:*:*:*:*:*:*, cpe:2.3:a:pivotal_software:spring_security_oauth:5.3.2:*:*:*:*:*:*:*) : CVE-2018-1258
spring-security-config-5.3.2.RELEASE.jar (pkg:maven/org.springframework.security/spring-security-config@5.3.2.RELEASE, cpe:2.3:a:pivotal_software:spring_security:5.3.2:*:*:*:*:*:*:*) : CVE-2018-1258
spring-security-core-5.3.2.RELEASE.jar (pkg:maven/org.springframework.security/spring-security-core@5.3.2.RELEASE, cpe:2.3:a:pivotal_software:spring_security:5.3.2:*:*:*:*:*:*:*) : CVE-2018-1258
spring-security-crypto-5.3.2.RELEASE.jar (pkg:maven/org.springframework.security/spring-security-crypto@5.3.2.RELEASE, cpe:2.3:a:pivotal_software:spring_security:5.3.2:*:*:*:*:*:*:*) : CVE-2018-1258

该漏洞表示它只与5.0.5相关。

是的,这也是我想知道的,因为Spring boot版本也是2.1.6.RELEASE,我不知道除了使用其他东西实现客户端之外,如何避免此漏洞。您是如何识别此漏洞的,当我们使用blackduck工具检查某个漏洞时,可能会导致此漏洞比使用blackduck工具检查此漏洞更高,运行以下命令mvn-dependency:tree-Dincludes=spring-security,查看是否有其他版本的spring-security等,如果找不到任何内容,则使用mvn-dependency:tree生成依赖关系树,你仍然没有发现任何东西,将这个问题标记为误报,只是意识到你在使用gradle,所以使用与gradle相关的依赖树命令。是的,这也是我想知道的,因为Spring boot版本也是2.1.6.RELEASE,我不知道除了使用其他东西实现客户端之外,如何避免此漏洞。您是如何识别此漏洞的,是您的代码引发了这个问题,还是您使用了blackduck之类的工具来扫描漏洞我们正在使用依赖项检查,当漏洞分数高于7时,我们的管道会失败。可能是一些可传递的依赖项导致了这一问题,但这只是我的猜测,运行以下命令mvn-dependency:tree-Dincludes=spring-security,查看是否有其他版本的spring-security等,如果找不到任何内容,则使用mvn-dependency:tree生成依赖关系树,但您仍然没有发现任何东西将此问题标记为误报,因为您意识到您正在使用gradle,所以请使用与gradle相关的依赖关系树命令。