SpringBoot解决Apache Tomcat输入验证错误漏洞

Apache Tomcat是美国阿帕奇(Apache)基金会的一款轻量级Web应用服务器。该程序实现了对Servlet和JavaServer Page(JSP)的支持。 Apache Tomcat存在输入验证错误漏洞,该漏洞源于HTTP/2请求的输入验证不正确,会导致拒绝服务。

修复方案

目前,官方漏洞修复版本已经发布。建议用户升级到安全修复版本: 8.0.x 用户升级组件到 8.5.99 版; 9.0.x 用户升级组件到 9.0.86 版; 10.0.x 用户升级组件到 10.1.19 版; 11.0.x 用户升级组件到 11.0.0-M17 版 。参考链接:https://tomcat.apache.org/

扫描到服务器存在漏洞风险,建议立即对相关主机进行快照备份,避免遭受损失。

参考链接

https://lists.apache.org/thread/4c50rmomhbbsdgfjsgwlb51xdwfjdcvg

Apache Tomcat中存在一个输入验证错误(也称为CVE-2022-23708)漏洞,这是因为Tomcat在处理HTTP/2请求时未能正确验证请求头部的大小,可能导致内存溢出漏洞。攻击者可以构造特制的HTTP/2请求,利用此漏洞发起攻击,如果攻击成功,可能会导致服务器崩溃或执行任意代码。

解决方法:

升级 org.apache.tomcat.embed 依赖版本到 9.0.86。

修改pom.xml文件:

XML 复制代码
        <!-- tomcat -->
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-core</artifactId>
            <version>9.0.86</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-el</artifactId>
            <version>9.0.86</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-websocket</artifactId>
            <version>9.0.86</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-annotations-api</artifactId>
            <version>9.0.86</version>
        </dependency>

        <!-- Exclude conflicting dependencies -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</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.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</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>
相关推荐
用户83071968408226 分钟前
Apache Tomcat 体系结构深度解析
java·tomcat
古城小栈1 小时前
性能测试:JMeter 压测 Spring Boot 微服务
spring boot·jmeter·微服务
算法与双吉汉堡1 小时前
【短链接项目笔记】Day1 用户模块
java·spring boot·笔记·后端
Selegant1 小时前
Quarkus vs Spring Boot:谁更适合云原生时代的 Java 开发?
java·spring boot·云原生
计算机毕设指导61 小时前
基于微信小程序的校园食堂点餐系统【源码文末联系】
java·spring boot·微信小程序·小程序·tomcat·maven·intellij-idea
Mr.Pascal1 小时前
深度解读一下 springcloud 的 pom.xml 用到的标签
xml·spring boot·spring cloud
Qiuner1 小时前
Spring Boot AOP(二) 代理机制解析
java·spring boot·后端
invicinble2 小时前
对于设计IT系统的相关思路
spring boot
nvvas2 小时前
JAVA 关于SpringBoot4新版本阅览
java·spring boot
白宇横流学长2 小时前
基于SpringBoot实现的大创管理系统
java·spring boot·后端