如何移除Spring Boot项目中com.thoughtworks.xstream的高危漏洞?
解决Spring Boot Maven插件引发的XStream高危漏洞问题
你遇到的问题是因为spring-boot-maven-plugin自身依赖了存在漏洞的XStream 1.4.7版本,项目依赖里直接声明XStream高版本不会影响插件内部的依赖,所以漏洞依然存在。可以通过以下两种方式修复:
方法一:升级Spring Boot版本(推荐)
Spring Boot的新版父POM会统一管理插件及其依赖的版本,比如Spring Boot 2.5.x及以上版本的spring-boot-maven-plugin已经使用了修复漏洞的XStream版本(1.4.16+)。直接修改POM里的父依赖版本即可:
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.7.15</version> <!-- 选择稳定的新版,比如2.7.x或3.x系列,根据你的兼容需求选择 --> <relativePath/> </parent>
方法二:强制插件使用修复后的XStream版本
如果暂时无法升级Spring Boot,可以在spring-boot-maven-plugin内部声明XStream的高版本依赖,强制插件使用该版本:
<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <dependencies> <dependency> <groupId>com.thoughtworks.xstream</groupId> <artifactId>xstream</artifactId> <version>1.4.18</version> <!-- 至少要1.4.16及以上,推荐用最新稳定版 --> </dependency> </dependencies> </plugin>
执行完修改后,记得重新运行mvn clean install,然后再做漏洞扫描验证问题是否解决。
内容的提问来源于stack exchange,提问作者Mashruwala Dhruvin
相关产品推荐
相关产品推荐

