内容

Apache Tomcat 11.x 漏洞

本页面列出了 Apache Tomcat® 11.x 已发布版本中修复的所有安全漏洞。Apache Tomcat 安全团队会对每个漏洞进行安全影响评级——请注意,此评级可能因平台而异。我们还列出了已知受此缺陷影响的 Apache Tomcat 版本,如果缺陷尚未验证,则用问号标记版本。

注意:并非 Tomcat 漏洞,但被错误地报告给 Tomcat 或 Tomcat 提供了变通方案的漏洞,将列在本页面末尾。

请注意,我们从不提供二进制补丁。如果您需要应用源代码补丁,请使用您正在使用的 Apache Tomcat 版本的构建说明。对于 Tomcat 11.0.x,这些文件是building.htmlBUILDING.txt。这两个文件都可以在二进制分发包的webapps/docs子目录中找到。您可能还希望查阅文档中的安全注意事项页面。

如果您在构建或配置 Tomcat 方面需要帮助,或者在遵循说明以缓解此处列出的已知漏洞方面需要其他帮助,请将您的问题发送到公共Tomcat 用户邮件列表

如果您遇到未列出的安全漏洞或具有安全影响的其他意外行为,或者此处的描述不完整,请私下报告给Tomcat 安全团队。谢谢。

目录

2025-06-09 在 Apache Tomcat 11.0.8 中修复

中等:PreResources 和 PostResources 的安全约束绕过 CVE-2025-49125

当 PreResources 或 PostResources 挂载在 Web 应用程序根目录之外时,可以通过意外路径访问这些资源。该路径很可能不受与预期路径相同的安全约束保护,从而允许绕过这些安全约束。

这已通过提交 d94bd36f 修复。

该问题于 2025 年 6 月 16 日公开。

影响:11.0.0-M1 到 11.0.7

低:通过 Windows 版 Tomcat 安装程序进行侧载 CVE-2025-49124

在安装过程中,Windows 版 Tomcat 安装程序使用了 icacls.exe,但未指定完整路径。这导致了侧载漏洞。

这已通过提交 c56456cd 修复。

该问题于 2025 年 6 月 16 日公开。

影响:11.0.0-M1 到 11.0.7

重要:多部分上传中的 DoS CVE-2025-48988

Tomcat 对多部分请求中的请求参数和部分使用相同的限制。由于上传的部分还包括必须保留的头,处理多部分请求可能导致显著更多的内存使用。一个精心制作的请求,如果使用大量部分,可能会触发过多的内存使用,从而导致拒绝服务。最大部分数量现在可配置(Connector 上的 maxPartCount),默认值为 10 个部分。

这已通过提交 2b0ab14f 修复。

该问题于 2025 年 6 月 16 日公开。

影响:11.0.0-M1 到 11.0.7

重要:Commons FileUpload 中的 DoS CVE-2025-48976

Apache Commons FileUpload 对与多部分请求关联的头的大小提供了 10kB 的硬编码限制。一个精心制作的请求,如果使用大量部分和大型头,可能会触发过多的内存使用,从而导致拒绝服务。此限制现在可配置(Connector 上的 maxPartHeaderSize),默认值为 512 字节。

这已通过提交 74f69ffa 修复。

该问题于 2025 年 6 月 16 日公开。

影响:11.0.0-M1 到 11.0.7

2025-05-13 在 Apache Tomcat 11.0.7 中修复

低:CGI 安全约束绕过 CVE-2025-46701

当在不区分大小写的文件系统上运行,并且为映射到 CGI Servlet 的 URL 的pathInfo组件配置了安全约束时,可以通过精心制作的 URL 绕过这些安全约束。

这已通过提交 fab7247d0f01966e 修复。

该问题于 2025 年 5 月 29 日公开。

影响:11.0.0-M1 到 11.0.6

2025-04-09 在 Apache Tomcat 11.0.6 中修复

低:重写规则绕过 CVE-2025-31651

对于一部分不太可能出现的重写规则配置,精心制作的请求有可能绕过某些重写规则。如果这些重写规则实际上强制执行了安全约束,则这些约束可能会被绕过。

这已通过提交 fbecc915 修复。

该问题于 2025 年 4 月 28 日公开。

影响:11.0.0-M1 到 11.0.5

重要:通过无效 HTTP 优先级头拒绝服务 CVE-2025-31650

某些无效 HTTP 优先级头的错误处理不正确,导致失败请求的清理不完整,从而产生内存泄漏。大量此类请求可能触发 OutOfMemoryException,导致拒绝服务。

这已通过提交 75554da2f619e6a0ded0285b 修复。

该问题于 2025 年 4 月 28 日公开。

影响:11.0.0-M2 到 11.0.5

2025-02-10 在 Apache Tomcat 11.0.3 中修复

重要:通过启用写入的默认 Servlet 进行远程代码执行和/或信息泄露和/或将恶意内容添加到上传的文件 - CVE-2025-24813

部分 PUT 的原始实现使用了一个临时文件,该文件基于用户提供的文件名和路径,并将路径分隔符替换为“.”。

如果以下所有条件都成立,恶意用户就能够查看安全敏感文件和/或向这些文件注入内容

  • 默认 servlet 启用写入(默认禁用)
  • 支持部分 PUT(默认启用)
  • 安全敏感上传的目标 URL 是公共上传目标 URL 的子目录
  • 攻击者了解正在上传的安全敏感文件的名称
  • 安全敏感文件也通过部分 PUT 上传

如果以下所有条件都成立,恶意用户就能够执行远程代码

  • 默认 servlet 启用写入(默认禁用)
  • 支持部分 PUT(默认启用)
  • 应用程序使用 Tomcat 基于文件的会话持久性,并使用默认存储位置
  • 应用程序包含一个可能在反序列化攻击中被利用的库

这已通过提交 0a668e0c 修复。

该问题于 2025 年 3 月 10 日公开。

影响:11.0.0-M1 到 11.0.2

2024-12-09 在 Apache Tomcat 11.0.2 中修复

重要:通过启用写入的默认 Servlet 执行远程代码。CVE-2024-50379 的缓解措施不完整 - CVE-2024-56337

CVE-2024-50379 的先前缓解措施不完整。除了升级到 11.0.2 或更高版本之外,在不区分大小写的文件系统上运行 Tomcat 且默认 servlet 启用写入的用户可能需要根据所使用的 Java 版本进行额外配置

  • 在 Java 17 上运行:如果设置了系统属性 sun.io.useCanonCaches,则必须将其设置为 false(默认值为 false
  • 在 Java 21 或更高版本上运行:无需进一步配置(系统属性和有问题的缓存已被移除)

该问题于 2024 年 12 月 20 日公开。

影响:11.0.0-M1 到 11.0.1

低:示例 Web 应用程序中的 DoS CVE-2024-54677

示例 Web 应用程序中的许多示例未对上传数据设置限制,这使得可以触发 OutOfMemoryError,从而导致拒绝服务。

这已通过提交 4f023660c0a23927b1f65728a95bf2b04a335c6d72281466cb170768 修复。

该问题于 2024 年 12 月 17 日公开。

影响:11.0.0-M1 到 11.0.1

重要:通过启用写入的默认 Servlet 执行远程代码 CVE-2024-50379

如果默认 servlet 对不区分大小写的文件系统启用写入(readonly 初始化参数设置为非默认值 false),则在负载下并发读取和上传同一文件可能会绕过 Tomcat 的大小写敏感性检查,导致上传的文件被视为 JSP,从而导致远程代码执行。

这已通过提交 cc7a98b5684247ae 修复。

该问题于 2024 年 12 月 17 日公开。

影响:11.0.0-M1 到 11.0.1

2024-11-10 在 Apache Tomcat 11.0.1 中修复

重要:生成的 JSP 中的 XSS CVE-2024-52318

对改进 69333 的修复导致池化的 JSP 标签在使用后未能释放,这反过来可能导致某些标签的输出未能按预期转义。这种未转义的输出可能导致 XSS。

这已通过提交 8d1fc473 修复。

该问题于 2024 年 11 月 18 日公开。

影响:11.0.0

2024-10-09 在 Apache Tomcat 11.0.0 中修复

重要:请求和/或响应混淆 CVE-2024-52317

HTTP/2 请求使用的请求和响应的回收不正确,可能导致用户之间的请求和/或响应混淆。

这已通过提交 9e840cca 修复。

该问题于 2024 年 10 月 1 日由 Tomcat 安全团队发现。该问题于 2024 年 11 月 18 日公开。

影响:11.0.0-M23 到 11.0.0-M26

低:身份验证绕过 CVE-2024-52316

如果 Tomcat 配置为使用自定义的 Jakarta 认证(前身为 JASPIC)ServerAuthContext 组件,该组件在认证过程中可能抛出异常,而未显式设置 HTTP 状态以指示失败,则认证可能未失败,从而允许用户绕过认证过程。目前没有已知的 Jakarta 认证组件以这种方式行为。

这已通过提交 6d097a66 修复。

该问题于 2024 年 9 月 19 日由 Tomcat 安全团队发现。该问题于 2024 年 11 月 18 日公开。

影响:11.0.0-M1 到 11.0.0-M26

2024-06-18 在 Apache Tomcat 11.0.0-M21 中修复

重要:拒绝服务 CVE-2024-34750

在处理 HTTP/2 流时,Tomcat 未能正确处理某些过量 HTTP 头的情况。这导致 HTTP/2 活动流的计数错误,进而导致使用了不正确的无限超时,使得本应关闭的连接保持开放状态。

这已通过提交 2344a4c0 修复。

该问题于 2024 年 5 月 4 日报告给 Tomcat 安全团队。该问题于 2024 年 7 月 3 日公开。

影响:11.0.0-M1 到 11.0.0-M20

重要:拒绝服务 CVE-2024-38286

在任何平台上的某些配置下,Tomcat 允许攻击者通过滥用 TLS 握手过程导致 OutOfMemoryError。

这已通过提交 31978626 修复。

该问题于 2024 年 6 月 4 日报告给 Tomcat 安全团队。该问题于 2024 年 9 月 23 日公开。

影响:11.0.0-M1 到 11.0.0-M20

2024-02-19 在 Apache Tomcat 11.0.0-M17 中修复

重要:拒绝服务 CVE-2024-23672

WebSocket 客户端可能保持 WebSocket 连接开放,导致资源消耗增加。

这已通过提交 b0e3b1bd 修复。

该问题于 2024 年 1 月 17 日由 Tomcat 安全团队发现。该问题于 2024 年 3 月 13 日公开。

影响:11.0.0-M1 到 11.0.0-M16

重要:拒绝服务 CVE-2024-24549

在处理 HTTP/2 请求时,如果请求超出了任何已配置的头部限制,则相关的 HTTP/2 流直到所有头部处理完毕后才会被重置。

这已通过提交 810f49d5 修复。

该问题于 2024 年 1 月 24 日报告给 Tomcat 安全团队。该问题于 2024 年 3 月 13 日公开。

影响:11.0.0-M1 到 11.0.0-M16

2023-10-10 在 Apache Tomcat 11.0.0-M12 中修复

重要:请求走私 CVE-2023-45648

Tomcat 未能正确解析 HTTP 尾部头。一个精心制作的、无效的尾部头可能导致 Tomcat 将单个请求视为多个请求,从而在反向代理后可能导致请求走私。

这已通过提交 eb5c094e 修复。

该问题于 2023 年 9 月 12 日报告给 Tomcat 安全团队。该问题于 2023 年 10 月 10 日公开。

影响:11.0.0-M1 到 11.0.0-M11

重要:拒绝服务 CVE-2023-44487

Tomcat 的 HTTP/2 实现容易受到快速重置攻击。拒绝服务通常表现为 OutOfMemoryError

这已通过提交 9cdfe25b 修复。

该问题于 2023 年 9 月 14 日报告给 Tomcat 安全团队。该问题于 2023 年 10 月 10 日公开。

影响:11.0.0-M1 到 11.0.0-M11

重要:信息泄露 CVE-2023-42795

在将各种内部对象(包括请求和响应)回收以供下一个请求/响应重用时,错误可能导致 Tomcat 跳过回收过程的某些部分,从而导致信息从当前请求/响应泄露到下一个请求/响应。

这已通过提交 d6db22e4 修复。

该问题于 2023 年 9 月 13 日由 Tomcat 安全团队发现。该问题于 2023 年 10 月 10 日公开。

影响:11.0.0-M1 到 11.0.0-M11

2023-08-25 在 Apache Tomcat 11.0.0-M11 中修复

中等:开放重定向 CVE-2023-41080

如果 ROOT(默认)Web 应用程序配置为使用 FORM 认证,则可能存在一个精心制作的 URL 被用于触发重定向到攻击者选择的 URL 的情况。

这已通过提交 e3703c9a 修复。

该问题于 2023 年 8 月 17 日报告给 Tomcat 安全团队。该问题于 2023 年 8 月 22 日公开。

影响:11.0.0-M1 到 11.0.0-M10

重要:请求走私 CVE-2023-46589

Tomcat 未能正确解析 HTTP 尾部头。一个精心制作的、超出头部大小限制的尾部头可能导致 Tomcat 将单个请求视为多个请求,从而在反向代理后可能导致请求走私。

这已通过提交 6f181e10 修复。

该问题于 2023 年 10 月 20 日报告给 Tomcat 安全团队。该问题于 2023 年 11 月 28 日公开。

影响:11.0.0-M1 到 11.0.0-M10

2023-05-09 在 Apache Tomcat 11.0.0-M6 中修复

重要:信息泄露 CVE-2023-34981

对 bug 66512 的修复引入了一个回归,该回归已作为 bug 66591 修复。该回归意味着,如果响应未设置任何 HTTP 头,则不会发送 AJP SEND_HEADERS 消息,这反过来意味着至少一个基于 AJP 的代理 (mod_proxy_ajp) 会使用上一个请求的响应头作为当前请求的响应头,从而导致信息泄露。

这已通过提交 739c7381 修复。

该问题于 2023 年 5 月 24 日报告给 Tomcat 安全团队。该问题于 2023 年 6 月 21 日公开。

影响:11.0.0-M5

2023-04-19 在 Apache Tomcat 11.0.0-M5 中修复

中等:Apache Tomcat 拒绝服务 CVE-2023-28709

CVE-2023-24998 的修复不完整。如果使用了非默认的 HTTP 连接器设置,使得可以通过查询字符串参数达到 maxParameterCount,并且提交了一个在查询字符串中恰好提供了 maxParameterCount 个参数的请求,则可以绕过上传请求部分的限制,可能导致拒绝服务发生。

这已通过提交 d53d8e7f 修复。

该问题于 2023 年 3 月 13 日报告给 Tomcat 安全团队。该问题于 2023 年 5 月 22 日公开。

影响:11.0.0-M2 到 11.0.0-M4

2023-02-23 在 Apache Tomcat 11.0.0-M3 中修复

重要:Apache Tomcat 信息泄露 CVE-2023-28708

当使用 RemoteIpFilter 处理通过 HTTP 从反向代理接收到的请求(其中包含设置为 httpsX-Forwarded-Proto 头)时,Tomcat 创建的会话 cookie 不包含 secure 属性。这可能导致用户代理通过不安全通道传输会话 cookie。

这已通过提交 c64d496d 修复。

66471 于 2023 年 2 月 8 日公开报告。安全影响于 2023 年 2 月 9 日由 Tomcat 安全团队发现。该问题于 2023 年 3 月 22 日公开。

影响:11.0.0-M1 到 11.0.0-M2

注意:以下问题已在 Apache Tomcat 11.0.0-M2 中修复,但 11.0.0-M2 候选版本的发布投票未通过。因此,尽管用户必须下载 11.0.0-M3 才能获取包含这些问题修复的版本,但 11.0.0-M2 版本不包含在受影响的版本列表中。

重要:Apache Tomcat 拒绝服务 CVE-2023-24998

Apache Tomcat 使用 Apache Commons FileUpload 的重命名副本,以提供 Jakarta Servlet 规范中定义的文件上传功能。因此,Apache Tomcat 也容易受到 Apache Commons FileUpload 漏洞 CVE-2023-24998 的影响,因为处理的请求部分数量没有限制。这导致攻击者可能通过恶意上传或一系列上传触发拒绝服务(DoS)。

这已通过提交 063e2e81 修复。

该问题于 2022 年 12 月 11 日报告给 Apache Tomcat 安全团队。该问题于 2023 年 2 月 20 日公开。

影响:11.0.0-M1