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>
相关推荐
学长毕设8 小时前
基于SpringBoot的青少年编程学习平台系统-附源码
spring boot·学习·青少年编程
学长毕设13 小时前
基于SpringBoot的建筑材料管理系统-附源码
java·spring boot·后端
星光开发者15 小时前
基于springboot智慧草场牛羊管理系统-计算机毕设【课程设计】50360
vue.js·spring boot·后端·mysql·php·课程设计·express
weixin_BYSJ198715 小时前
电竞先锋网站---附源码02032
java·vue.js·spring boot·python·django·tomcat·php
她的男孩16 小时前
超时配置了自动驳回,任务状态却全变「已取消」:Forge Admin 流程超时终态与 Flowable ENTITY_DELETED
spring boot·低代码·工作流引擎
二宝哥17 小时前
02.springboot项目对接国内模型实现对话聊天
数据库·人工智能·spring boot
学长毕设18 小时前
基于springboot的农资管理系统-附源码
java·spring boot·后端
Magicdata大数据20 小时前
AI辅助教学:调用大模型从教材中生成习题,方便学员练习
java·spring boot·大模型·知识图谱·neo4j·ai辅助教学
不识君20 小时前
esl-client 2.0.0 发布:Java 项目接入 FreeSWITCH,从引入到使用
spring boot·后端·开源
二宝哥21 小时前
03.Spring AI Embedding 实战:从向量化原理到项目落地
人工智能·spring boot·向量·spring ai