700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Apache Tomcat文件包含漏洞(CNNVD-02-1052 CVE--1938)

Apache Tomcat文件包含漏洞(CNNVD-02-1052 CVE--1938)

时间:2022-12-27 14:12:44

相关推荐

Apache Tomcat文件包含漏洞(CNNVD-02-1052 CVE--1938)

文章目录

[漏洞描述]1,xml配置文件中的修复方法:2,springboot对应方法:springboot开启AJP方法开启了AJP的springboot如何升级内置tomcat版本

[漏洞描述]

Apache Tomcat文件包含漏洞(CNNVD-02-1052、CVE--1938):利用此漏洞的攻击者可以读取 Tomcat所有webapp目录下的任意文件。该漏洞影响包括Apache Tomcat 9.x、Apache Tomcat 8.x、Apache Tomcat 7.x、Apache Tomcat 6.x等多个版本的Tomcat。

由于该漏洞影响全版本默认配置下的 Tomcat,因部分tomcat版本过于久远,因此该漏洞影响范围至少包含下列版本,但不排除其他版本的Tomcat。影响版本如下:

Apache Tomcat9.x < 9.0.31

Apache Tomcat8.x < 8.5.51

Apache Tomcat7.x < 7.0.100

Apache Tomcat6.x

1,xml配置文件中的修复方法:

要正确修复此漏洞,首先需要确定服务器环境中是否有用到 TomcatAJP协议:

1、如果确定未使用 Tomcat AJP 协议,则可以直接将 Tomcat 升级到9.0.31、8.5.51或7.0.100版本进行漏洞修复。

2、对于确定未使用 Tomcat AJP 协议,但无法进行版本更新、或者是更老版本的用户,可以考虑直接关闭 AJP Connector,或将其监听地址改为仅监听在本机 localhost。具体步骤:

(1)编辑<CATALINA_BASE>/conf/server.xml,找到如下行(<CATALINA_BASE> 为 Tomcat 的工作目录):

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

(2)将此行注释掉(或直接删掉此行):

<!--<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />-->

(3)更改完毕后,重启 Tomcat 即可。

来源:【漏洞预警】CNNVD 关于Apache Tomcat文件包含漏洞的通报

2,springboot对应方法:

如果使用的是外置tomcat,参考公告中的对应方法即可。

如果使用的是springboot的内置tomcat,且手动开启了AJP协议,则需要升级内置tomcat版本。

如果你的springboot(使用默认内置tomcat)并没有手动开启AJP,那么你可以不升级tomcat内置版本。当然你想升级也可以。

springboot开启AJP方法

springboot默认关闭AJP,如果需要开启,则需要手动配置,以springboot2为例:

@Beanpublic WebServerFactoryCustomizer<TomcatServletWebServerFactory> servletContainer() {return server -> {if (server instanceof TomcatServletWebServerFactory) {((TomcatServletWebServerFactory) server).addAdditionalTomcatConnectors(redirectConnector());}};}private Connector redirectConnector() {Connector connector = new Connector("AJP/1.3");connector.setScheme("http");connector.setPort(ajpPort);connector.setSecure(false);connector.setAllowTrace(false);return connector;}

开启了AJP的springboot如何升级内置tomcat版本

如果你的springboot项目开启了AJP,那么你需要升级内置tomcat版本到公告中指明的版本或以上。

示例:

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><exclusions><exclusion><artifactId>tomcat-embed-core</artifactId><groupId>org.apache.tomcat.embed</groupId></exclusion><exclusion><artifactId>tomcat-embed-el</artifactId><groupId>org.apache.tomcat.embed</groupId></exclusion><exclusion><artifactId>tomcat-embed-websocket</artifactId><groupId>org.apache.tomcat.embed</groupId></exclusion></exclusions></dependency><dependency><groupId>org.apache.tomcat.embed</groupId><artifactId>tomcat-embed-core</artifactId><version>9.0.31</version></dependency><dependency><groupId>org.apache.tomcat.embed</groupId><artifactId>tomcat-embed-el</artifactId><version>9.0.31</version></dependency><dependency><groupId>org.apache.tomcat.embed</groupId><artifactId>tomcat-embed-websocket</artifactId><version>9.0.31</version><exclusions><exclusion><artifactId>tomcat-embed-core</artifactId><groupId>org.apache.tomcat.embed</groupId></exclusion></exclusions></dependency>

这里列出了tomcat-embed-core,tomcat-embed-el和tomcat-embed-websocket这三个依赖包,实际上应该根据你的具体项目中的依赖来升级版本

来源:SpringBoot2 对应 Tomcat 的 AJP 漏洞

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。