尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Spring Boot 3.5.16 自带的 Tomcat 10.1.55 中了哪些 CVE?其中一条是修上一个漏洞时带进来的
文中的数字都是2026-10-13读到的。GitHub 的审核状态和 Spring Boot 的版本会变,结论请以你看到这篇文章当天的实际情况为准。先说结论Tomcat 官方在 2026 年 8 月和 9 月各修了一批漏洞,共 22 条:批次条数修复版8 月批109.0.121 / 10.1.58 / 11.0.259 月批(官方写 2026-09-23 公开)129.0.122 / 10.1.60 / 11.0.26三件事:这 22 条里有 19 条,GitHub 上还是unreviewed。GitHub 只拿reviewed的 advisory 做 Dependabot 告警,所以按规则这 19 条进不了你的告警列表。各条 Spring Boot 线最新版自带的 Tomcat,都落在受影响区间里:Spring Boot(该线 Maven Central 上最新)自带tomcat.version9 月批修复版3.5.1610.1.5510.1.604.0.811.0.2411.0.264.1.111.0.2411.0.263.4.1310.1.5010.1.602.7.189.0.839.0.122其中一条是修上一个洞时带进来的。CVE-2026-86350,官方评 Important,原文:Inconsistent interpretation of HTTP/2 requests caused by a regression in fix for CVE-2026-41293 can trigger request header mix-up.它的受影响区间是9.0.118–9.0.121、10.1.55–10.1.59、11.0.22–11.0.25—— 正好是CVE-2026-41293的修复版自己。也就是说,当初为了修 41293 升到 9.0.118 / 10.1.55 / 11.0.22 的,需要再升一次。但先别慌:这 22 条没有一条是默认配置就中的。每一条都有前提,下面逐条列。86350 要不要管:看你开没开 HTTP/2这条的前提是启用了 HTTP/2。Spring Boot 默认不开 —— 官方属性表里server.http2.enabled的默认值是false。所以:配置里没有server.http2.enabledtrue,也没有自己给连接器加 HTTP/2 升级协议 → 这条跟你无关。开了 → 你的 Tomcat 在上面那个区间里就中,升到 9.0.122 / 10.1.60 / 11.0.26。同样以 HTTP/2 为前提的还有 3 条:CVE-2026-68763(Important,流被重置时的分配泄漏,可致拒绝服务)、CVE-2026-77762(Low)、CVE-2026-78437(Low)。用了 WebSocket 的,有 5 条编号官方评级前提CVE-2026-76183Important有 WebSocket 端点,且对端点路径配置了 security-constraint。请求路径被错当成端点模板解析,可以绕过约束CVE-2026-77791Important有 WebSocket 端点。发送关闭消息时的忙等可被用来做拒绝服务CVE-2026-79677Moderate有 WebSocket 端点并使用异步写。并发缺陷导致写超时丢失CVE-2026-87022Low启用了 per-message-deflate 压缩扩展CVE-2026-73180LowWebSocket 连接建立在已认证的 HTTP 会话之上一个细节:内嵌形态下,WebSocket 的实现不在tomcat-embed-core里,在单独的tomcat-embed-websocket里(下真 jar 列 class 验过)。spring-boot-starter-web会把它带进来;如果你的项目把它排除了,这 5 条对你不适用。其余 13 条的前提编号官方评级前提CVE-2026-78383Important启用了 AJP 连接器CVE-2026-65182Important较长路径的 security-constraint 写在更严格的较短子路径约束之前CVE-2026-65927Important配置了 RewriteValve 且规则用了[N]标志CVE-2026-68569ImportantDataSourceRealm / JDBCRealm 搭配 CLIENT-CERT、SPNEGO 这类认证方式CVE-2026-65637Moderate启用 HTTP/2 且依赖严格 SNI 检查CVE-2026-73581Moderate用 OpenSSL / OpenSSL-FFM 的 TLS 实现、证书放在 keystore 且配置了 CRLCVE-2026-86248ModerateFFM 版 OpenSSL CLIENT_CERT 认证 关闭了 OCSP soft-fail(tomcat-embed-core里没有 FFM 那部分类,内嵌用户不涉及)CVE-2026-65905Low配置了 DIGEST 认证CVE-2026-68525LowFORM 认证,且约束按 HTTP 方法区分CVE-2026-66422Lowweb.xml 里定义了 security-role-refCVE-2026-65183Low连接器监听 Unix Domain SocketCVE-2026-75973LowSimpleAuthConfigProvider 被配成默认 Jakarta Authentication provider 且多个 web 应用共用CVE-2026-77756LowTomcat 位于反向代理之后HTTP/2 的 4 条、WebSocket 的 5 条,加上这 13 条,就是全部 22 条。三条已经是reviewed、Dependabot 会报的是:65182、65905、68525。其余 19 条目前是unreviewed。为什么说「进不了告警」GitHub 的 advisory 有两种状态。reviewed的带着受影响的包坐标和版本区间,Dependabot 拿它和你的依赖对;unreviewed的是从 NVD 自动导入、还没人工确认受影响包的条目,包列表是空的。这是正常的流程状态,不是谁的疏漏。只是在它转成reviewed之前,你的告警列表里看不到它 —— 而 9 月这批已经公开 20 天了。你可以自己查任意一条的状态:gh apiadvisories?cve_idCVE-2026-86350--jq.[] | .type, (.vulnerabilities | length)2026-10-13 的返回是unreviewed和0。怎么知道自己带的是哪个版本的 TomcatSpring Boot 项目的 pom 里通常没有 Tomcat 的版本号,它由spring-boot-starter-parent管着。两个办法:mvn dependency:tree-Dincludesorg.apache.tomcat.embedSpring Boot 3.5.16 的最小工程跑出来是:\- org.springframework.boot:spring-boot-starter-web:jar:3.5.16:compile \- org.springframework.boot:spring-boot-starter-tomcat:jar:3.5.16:compile - org.apache.tomcat.embed:tomcat-embed-core:jar:10.1.55:compile - org.apache.tomcat.embed:tomcat-embed-el:jar:10.1.55:compile \- org.apache.tomcat.embed:tomcat-embed-websocket:jar:10.1.55:compile或者直接扫构建产物。我之前写过一个离线小工具tomcat-check,这次把这两批补进去了(v0.2.0):java-jartomcat-check.jar target/my-app.jar下面是对 Spring Boot 3.5.16 默认依赖(tomcat-embed-core/-el/-websocket10.1.55)实跑的小结:构件:tomcat-embed-core 版本:10.1.55 (版本号取自 MANIFEST) CVE-2026-86350 Regression in fix for CVE-2026-41293 can trigger request header mix-up 评级:ASF 官方 Important │ GitHub 尚未评级 进不了告警:GitHub advisory 仍是 unreviewed(未标注受影响包),Dependabot 只用 reviewed 的做告警 触发条件:仅当启用 HTTP/2 官方原文:Inconsistent interpretation of HTTP/2 requests caused by a regression in fix for CVE-2026-41293 can trigger request header mix-up. ── 小结 ── 命中 25 条,其中 22 条你的 Dependabot 大概率不会告警 默认配置即暴露:CVE-2026-55276 升到高于 10.1.59 的版本可覆盖以上全部条目25 条是 2026 年全年落在 10.1.55 上的条目数(不只这两批),「命中」的意思是版本落在官方 Affects 区间内,不等于可被利用—— 每条下面都印着触发条件。默认配置即暴露的只有CVE-2026-55276一条,它是更早的条目(官方 Low)。Boot 4.0.8 / 4.1.1 自带的 11.0.24 同样跑了一遍:命中 21 条,其中 18 条进不了告警,默认配置即暴露 0 条。怎么升修复版都在 Maven Central 上。用spring-boot-starter-parent的项目,在自己的 pom 里覆盖一个属性:propertiestomcat.version10.1.60/tomcat.version/properties实测:Spring Boot 3.5.16 的最小工程(只有spring-boot-starter-web),不加这一行解析出来的是tomcat-embed-core-10.1.55.jar tomcat-embed-el-10.1.55.jar tomcat-embed-websocket-10.1.55.jar加上之后是tomcat-embed-core-10.1.60.jar tomcat-embed-el-10.1.60.jar tomcat-embed-websocket-10.1.60.jar再用工具扫,输出是「判定表内(2026 年)没有命中这个版本的条目」。另外三条线同样测过(都是只有spring-boot-starter-web的最小工程):Spring Boot不覆盖时解析到覆盖成覆盖后工具输出4.0.811.0.2411.0.26没有命中4.1.111.0.2411.0.26没有命中2.7.189.0.839.0.122没有命中工具与数据来源工具:https://github.com/xiaoqiMikko/tomcat-check(零依赖单 jar,离线跑,Java 17)判定表不是手抄的:由脚本从tomcat.apache.org/security-{9,10,11}.html和 GitHub Advisory API 生成,带断言;触发条件逐条对照官方描述原文官方原文:https://tomcat.apache.org/security-10.html(「Fixed in Apache Tomcat 10.1.60」一节)
RELATED

相关推荐

MCP实战手记(十一):MCP接飞书,从机器人到事件订阅的三层深度接入

MCP实战手记(十一):MCP接飞书,从机器人到事件订阅的三层深度接入

本文聚焦飞书三层接入(机器人Webhook/自建应用卡片/长连接事件订阅)钉钉横向对比。0. 开篇:为什么从飞书开始 CSDN上"飞书对接"的实战文不少,但"飞书长连接事件订阅MCP双向闭环"的完整跑通几乎空白。飞书开放…

📅 2026/10/16 3:06:34
再论勾股定理成立的条件-39

再论勾股定理成立的条件-39

再回到狭义相对论火车实验,假定发射光子的位置在火车高度的中点,天花板和地板都有镜子。那么随着火车速度的增加,光子走过的路径就如图所示,这不是重点,重点是,我们已经知道上下左右的斜边就是光子的实际路…

📅 2026/10/16 3:06:34
LangChain 第7章 中间件与钩子函数:16 个官方中间件、洋葱顺序与 6 个 Hook

LangChain 第7章 中间件与钩子函数:16 个官方中间件、洋葱顺序与 6 个 Hook

摘要:本文系统梳理 LangChain 1.x 的中间件与钩子函数机制,涵盖 16 个官方中间件、洋葱模型执行顺序、6 个钩子函数(4 个节点风格 2 个包装风格),并通过自定义中间件实战、常见坑位排查、面试高频考点与课后练习&…

📅 2026/10/16 3:06:33
MORE NEWS

更多资讯

📰

HTML常用标签深度实战:语义化、表单与可访问性避坑指南

写过几年页面&#xff0c;我一直有个感受&#xff1a;HTML标签看起来是最入门的东西&#xff0c;真正上手项目之后&#xff0c;反而是最容易被低估的一环。刚接触前端的人&#xff0c;对着教程敲几遍<div>、<p>、<img>&#xff0c;觉得“这不就是几个标签吗”…

📰

Linux下GaussView 5启动失败的三大依赖修复指南

简介&#xff1a;本资源为GaussView 5 Linux 64位图形界面安装包&#xff08;gview.zip&#xff09;&#xff0c;专为量子化学与分子模拟研究者设计&#xff0c;面向需在Linux系统下开展高斯&#xff08;Gaussian&#xff09;计算的科研人员及计算化学初学者&#xff0c;解决输…

📰

Spring Boot酒店信息管理系统开发实战:从数据库设计到毕设答辩全解析

别人一听“酒店信息管理系统”这个毕业设计选题&#xff0c;总觉得太经典、太传统&#xff0c;仿佛十年前就有人写过了。但我在做完这套基于Spring Boot架构的《明天》酒店信息管理系统源码&#xff08;编号68249&#xff09;之后&#xff0c;反而是另一种感受&#xff1a;这类…

📰

item_get商品详情API从签名到落库:构建稳定的电商数据同步方案

做电商数据这块的朋友应该都清楚&#xff0c;商品详情是所有业务里最底层的素材来源。做价格监控、做选品分析、做进销存同步&#xff0c;甚至做一个购物比价的小程序&#xff0c;第一步都是拿到商品标题、价格、库存、SKU、图片、详情描述这些基础字段。早些年大家习惯写页面采…

📰

双串锂电池均衡方案:MP2642GR-Z与PIC18F86J15实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

图神经网络GNN核心体系解读:从模型分类到工程实践

图神经网络综述论文阅读笔记&#xff1a;从零到一吃透GNN核心体系从去年下半年开始&#xff0c;我陆续做了几个图结构数据的项目&#xff0c;越做越觉得逃不开GNN这关。不夸张地说&#xff0c;图神经网络现在几乎成了处理关系数据的默认选项&#xff0c;无论你做社交推荐、分子…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬