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>