项目部署到后高危漏洞的修复
部署到云服务器之后,发现有5个安全漏洞。
需要根据修复方案自行修复
Apache Dubbo 漏洞修复
将 Apache Dubbo 3.0.9 升级到 3.0.14 及以上版本
<!-- dubbo -->
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo</artifactId>
<version>3.0.14</version>
</dependency>
FasterXML jackson-databind 漏洞修复
查看 Maven 依赖发现是 Nacos 依赖了 FasterXML jackson-databind 2.13.3。
需要排除掉 Nacos 中的 jackson-databind 和 jackson-core 2.13.3 依赖,自己引入 2.14.0 以上版本
<!-- nacos 注册中心 -->
<dependency>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-client</artifactId>
<version>2.2.0</version>
<!-- 排除掉nacos依赖的有高危漏洞的2.13jackson,自己引入 2.14.0以上的 -->
<exclusions>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</exclusion>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.14.2</version>
</dependency>
Spring Framework 身份认证绕过漏洞
发现是 spring-webmvc-5.3.20 的问题,查看 Maven 依赖,是 spring-boot-starter-web:2.7.0 引入。
直接将项目的 spring boot 版本升级到 2.7.11
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.11</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
但升级之后下载不到 mysql-connector-java 的 jar包,因为我们没有指定版本。
手动指定 mysql-connector-java 的版本即可解决
<!-- mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<!--为了修复Spring Framework漏洞 将Spring boot版本升到2.7.11后,
mysql-connector-java 找不到,只能指定版本-->
<version>8.0.31</version>
<scope>runtime</scope>
</dependency>
评论区