Apache Tomcat文件包含漏洞紧急修复
Tomcat 漏洞
tomcat有漏洞, 需要升级到9.0.31
https://cert.360.cn/warning/detail?id=849be16c6d2dd909ff56eee7e26aeefe
2020年02月20日, 360CERT 监测发现 国家信息安全漏洞共享平台(CNVD) 收录了 CNVD-2020-10487 Apache Tomcat文件包含漏洞
Tomcat是由Apache软件基金会属下Jakarta项目开发的Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Servlet和JavaServer Page(JSP)的支持。由于Tomcat本身也内含了HTTP服务器,因此也可以视作单独的Web服务器。
CNVD-2020-10487是文件包含漏洞,攻击者可利用该漏洞读取或包含 Tomcat 上所有 webapp 目录下的任意文件,如:webapp 配置文件、源代码等。
修复建议
更新到如下Tomcat 版本
Tomcat 分支 | 版本号 |
---|---|
Tomcat 7 | 7.0.0100 |
Tomcat 8 | 8.5.51 |
Tomcat 9 | 9.0.31 |
Apache Tomcat 6 已经停止维护,请升级到最新受支持的 Tomcat 版本以免遭受漏洞影响。
请广大用户时刻关注 Apache Tomcat® – Welcome! 获取最新的 Tomcat Release版本,以及 apache/tomcat: Apache Tomcat 获取最新的 git 版本。
360安全大脑-Quake网络空间测绘系统通过对全网资产测绘,发现 Apache Tomcat 在国内存在大范围的使用情况。具体分布如下图所示。
升级方案
1. 继承springboot为parent的
pom添加properties
<tomcat.version>9.0.31</tomcat.version>
验证: 启动后日志为:
2020-02-21 11:46:34.797 INFO 22968 --- [ restartedMain] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.31]
2. dependency bom引入的
通常我们不会直接继承 spring-boot-starter-parent
, 而是通过如下方式引入bom
<dependency>
<!-- Import dependency management from Spring Boot -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${springboot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
直接声明tomcat依赖:
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-annotations-api</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jdbc</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jsp-api</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-core</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-el</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-websocket</artifactId>
<version>${tomcat.version}</version>
</dependency>