当前位置: 首页 > news >正文

springboot内嵌Tomcat 安全漏洞修复

漏洞扫描提示的是tomcat-embed-core[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

其余的安全漏洞也可以通过升级版本的方式解决,或者找对应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>

http://www.lryc.cn/news/26288.html

相关文章:

  • Android OTA 相关工具(三) A/B 系统之 bootctl 工具
  • 【Flink】org.apache.flink.table.api.ValidationException: SQL validation failed
  • 宏基因组鉴定病毒流程中需要的生物信息工具
  • Doris入门篇-分区分桶实验
  • Spring-Xml配置
  • 设计模式-工作线程 创建多少线程池合适
  • 【算法基础】深度优先搜索(DFS) 广度优先搜索(BFS)
  • 【分布式】ProtocolBuffer平滑升级原则
  • 第四阶段17-关于Redis中的list类型,缓存预热,关于Mybatis中的`#{}`和`${}`这2种格式的占位符
  • stringstream用法
  • 2022年下半年系统集成项目管理工程师综合知识真题及答案解析
  • 【洛谷 P2089】烤鸡(搜索)
  • Mac item2 配置免密登录开发机
  • vue 解决问题:Webpack安装不成功,webpack -v无法正常显示版本号
  • 07-1【openEuler】系统及进程管理(网络管理的补充实验及说明)
  • 【Linux】磁盘结构、文件系统、软硬链接、动静态库链接
  • 交换机电口、光口、网络速率的基本概念总结
  • 【面试题 05.02. 二进制数转字符串】
  • webpack - webpack的基本使用和总结
  • 【蓝桥杯嵌入式】定时器实现按键单击,双击,消抖以及长按的代码实现
  • 基于SSM的Javaweb爱心扶贫捐赠系统
  • Spring Cloud(微服务)学习篇(三)
  • 一文带你吃透JSP,增删改查实战案例详细解读
  • taobao.item.propimg.upload( 添加或修改属性图片 )
  • TDEngine集群监控组件安装配置(Telegra+Grafana方案)
  • 【定位】高德地图wifi定位接口使用效果实践
  • Nacos注册中心
  • Liunx常用命令总结
  • MySQL表的增删查改(进阶)
  • 【RocksDB】Ubuntu20.04下编译rocksdb