java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > springboot内嵌Tomcat安全漏洞修复

springboot内嵌Tomcat安全漏洞修复方式

作者:lzh_me

针对CVE-2020-1938漏洞,建议升级Tomcat至安全版本以避免受影响,影响版本包括:Apache Tomcat 9.x小于9.0.31、Apache Tomcat 8.x小于8.5.51、Apache Tomcat 7.x小于7.0.100及Apache Tomcat 6.x,

springboot内嵌Tomcat安全漏洞修复

漏洞扫描提示的是tomcat-embed-core[CVE-2020-1938],解决方式是升级tomcat的版本。

该漏洞影响的版本

其余的安全漏洞也可以通过升级版本的方式解决,或者找对应tomcat版本的修复补丁,这里只是介绍版本升级。

问题的关键点是如何升级Springboot内嵌的tomcat版本。

1、确认内嵌tomcat的版本

通过mvn dependency:tree命令

首先进入项目的目录,一定是项目的目录,cmd窗口或者IDEA的Terminal窗口运行:

mvn dependency:tree > tree.txt

命令运行结果:

打开txt文本:

PS:我这是升级版本号之后的运行结果,我之前的版本是9.0.16

2、升级版本

Springboot升级内嵌tomcat的方法是在pom.xml中添加<tomcat.version>9.0.37</tomcat.version>

<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<java.version>1.8</java.version>
		<tomcat.version>9.0.37</tomcat.version>
</properties>

这种方式只是针对Springboot项目。

也可以通过先排除后引入的方式升级:

<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
			<exclusions>
				<exclusion>
					<groupId>org.apache.tomcat.embed</groupId>
					<artifactId>tomcat-embed-core</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.apache.tomcat.embed</groupId>
					<artifactId>tomcat-embed-el</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.apache.tomcat.embed</groupId>
					<artifactId>tomcat-embed-websocket</artifactId>
				</exclusion>
			</exclusions>
		</dependency>

		<dependency>
			<groupId>org.apache.tomcat.embed</groupId>
			<artifactId>tomcat-embed-core</artifactId>
			<version>9.0.37</version>
			<scope>compile</scope>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>org.apache.tomcat.embed</groupId>
			<artifactId>tomcat-embed-el</artifactId>
			<version>9.0.37</version>
			<scope>compile</scope>
			<optional>true</optional>
		</dependency>

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文