基本信息

源代码仓库

文档

参与

子项目

相关项目

其他

Apache HTTP Server 2.4 漏洞

此页面列出了 Apache HTTP Server 2.4 发布版本中修复的所有安全漏洞。每个漏洞都由 Apache 安全团队进行了安全 影响等级评定 - 请注意,此评定可能因平台而异。我们还列出了已知受影响的版本,以及未经验证的漏洞的版本(用问号表示)。

请注意,如果漏洞在下面显示为在“-dev”版本中修复,则表示已将修复程序应用于开发源代码树,并将包含在即将发布的完整版本中。

请将有关这些漏洞的评论或更正发送到 安全团队


初始 GA 版本 Apache httpd 2.4.1 包含对 Apache httpd 2.2.22 及所有旧版本中已解决的所有漏洞的修复。有关更多信息,请参阅 Apache httpd 2.2 漏洞列表


在 Apache HTTP Server 2.4.61 中修复

重要Apache HTTP Server:通过 AddType 配置的处理程序导致源代码泄露(CVE-2024-39884)

Apache HTTP Server 2.4.60 核心中的一个回归问题忽略了对基于传统内容类型的处理程序配置的一些使用。“AddType”和类似的配置在某些情况下(当间接请求文件时)会导致本地内容的源代码泄露。例如,可能会提供 PHP 脚本而不是解释它们。

建议用户升级到 2.4.61 版本,该版本修复了此问题。

已报告给安全团队2024-07-01
在 2.4.x 中通过 r1918839 修复2024-07-03
发布了 2.4.61 更新2024-07-03
影响2.4.60

在 Apache HTTP Server 2.4.60 中修复

Apache HTTP Server:通过 HTTP/2 上的 websocket 发生的空指针导致拒绝服务(CVE-2024-36387)

通过 HTTP/2 连接提供 WebSocket 协议升级可能会导致空指针取消引用,从而导致服务器进程崩溃,降低性能。

致谢:发现者:Marc Stern (<[email protected]>)

在主干中通过 r1918003 修复2024-05-27
在 2.4.x 中通过 r1918557 修复2024-07-01
发布了 2.4.60 更新2024-07-01
影响2.4.55 到 2.4.59

重要Windows UNC 上的 Apache HTTP Server SSRF(CVE-2024-38472)

Windows 上的 Apache HTTP Server 中的 SSRF 允许通过 SSRF 和恶意请求或内容将 NTML 哈希泄露到恶意服务器。

建议用户升级到 2.4.60 版本,该版本修复了此问题。注意:访问 UNC 路径的现有配置将必须配置新的指令“UNCList”以允许在请求处理期间访问。

致谢:发现者:来自 DEVCORE 的 Orange Tsai (@orange_8361)

已报告给安全团队2024-04-01
在 2.4.x 中通过 r1918558 修复2024-07-01
发布了 2.4.60 更新2024-07-01
影响2.4.0 到 2.4.59

中等Apache HTTP Server 代理编码问题(CVE-2024-38473)

Apache HTTP Server 2.4.59 及更早版本中 mod_proxy 中的编码问题允许将编码不正确的请求 URL 发送到后端服务,这可能会通过精心制作的请求绕过身份验证。这会影响使用除 ProxyPass/ProxyPassMatch 或带有“P”标志的 RewriteRule 之外的机制来配置代理请求的配置,例如 SetHandler 或通过 CVE-2024-39573 意外代理。请注意,这些备用机制可能在 .htaccess 中使用。

建议用户升级到 2.4.60 版本,该版本修复了此问题。

致谢:发现者:来自 DEVCORE 的 Orange Tsai (@orange_8361)

已报告给安全团队2024-04-01
在 2.4.x 中通过 r1918559、r1918666、r1918600、r1918625、r1918668 修复2024-07-01
发布了 2.4.60 更新2024-07-01
影响2.4.0 到 2.4.59

重要Apache HTTP Server 中后向引用中编码问号的弱点(CVE-2024-38474)

Apache HTTP Server 2.4.59 及更早版本中 mod_rewrite 中的替换编码问题允许攻击者在配置允许但任何 URL 都无法直接访问的目录中执行脚本,或泄露仅作为 CGI 执行的脚本的源代码。

建议用户升级到 2.4.60 版本,该版本修复了此问题。

现在,除非指定了重写标志“UnsafeAllow3F”,否则一些捕获和替换不安全的 RewriteRules 将失败。

致谢:发现者:来自 DEVCORE 的 Orange Tsai (@orange_8361)

已报告给安全团队2024-04-01
在 2.4.x 中通过 r1918561 修复2024-07-01
发布了 2.4.60 更新2024-07-01
影响2.4.0 到 2.4.59

重要Apache HTTP Server 中 mod_rewrite 的弱点,当替换的第一段与文件系统路径匹配时。(CVE-2024-38475)

Apache HTTP Server 2.4.59 及更早版本中 mod_rewrite 中的输出转义不当允许攻击者将 URL 映射到文件系统位置,这些位置允许服务器提供,但任何 URL 都无法有意/直接访问,从而导致代码执行或源代码泄露。

服务器上下文中使用后向引用或变量作为替换第一段的替换会受到影响。此更改会破坏一些不安全的 RewiteRules,并且重写标志“UnsafePrefixStat”可用于在确保替换适当约束后选择重新加入。

致谢:发现者:来自 DEVCORE 的 Orange Tsai (@orange_8361)

已报告给安全团队2024-04-01
在 2.4.x 中通过 r1918561 修复2024-07-01
发布了 2.4.60 更新2024-07-01
影响2.4.0 到 2.4.59

重要Apache HTTP Server 可能会使用可利用/恶意的后端应用程序输出通过内部重定向运行本地处理程序(CVE-2024-38476)

Apache HTTP Server 2.4.59 及更早版本核心中的漏洞容易受到信息泄露、SSRF 或本地脚本执行的影响,这些漏洞来自响应标头恶意或可利用的后端应用程序。

注意:在修复此问题后,必须将“AddType”指令的一些传统用法移植到“SetHandler”以将请求连接到处理程序。

建议用户升级到 2.4.60 版本,该版本修复了此问题。

致谢:发现者:来自 DEVCORE 的 Orange Tsai (@orange_8361)

已报告给安全团队2024-04-01
在 2.4.x 中通过 r1918560 修复2024-07-01
发布了 2.4.60 更新2024-07-01
影响2.4.0 到 2.4.59

重要Apache HTTP Server:通过恶意请求在 mod_proxy 中导致拒绝服务的崩溃(CVE-2024-38477)

Apache HTTP Server 2.4.59 及更早版本中 mod_proxy 中的空指针取消引用允许攻击者通过恶意请求使服务器崩溃。

建议用户升级到 2.4.60 版本,该版本修复了此问题。

致谢:发现者:来自 DEVCORE 的 Orange Tsai (@orange_8361)

已报告2024-04-01
在 2.4.x 中通过 r1918607 修复2024-07-01
发布了 2.4.60 更新2024-07-01
影响2.4.0 到 2.4.59

中等Apache HTTP Server:mod_rewrite 代理处理程序替换(CVE-2024-39573)

Apache HTTP Server 2.4.59 及更早版本中 mod_rewrite 中的潜在 SSRF 允许攻击者导致不安全的 RewriteRules 意外地设置要由 mod_proxy 处理的 URL。

建议用户升级到 2.4.60 版本,该版本修复了此问题。

致谢:发现者:来自 DEVCORE 的 Orange Tsai (@orange_8361)

已报告给安全团队2024-04-01
发布了 2.4.60 更新2024-07-01
影响2.4.0 到 2.4.59

在 Apache HTTP Server 2.4.59 中修复

中等Apache HTTP Server:HTTP 响应拆分(CVE-2023-38709)

Apache 核心中的输入验证错误允许恶意或可利用的后端/内容生成器拆分 HTTP 响应。

此问题会影响 Apache HTTP Server:直至 2.4.58。

致谢:发现者:来自 DEVCORE 的 Orange Tsai (@orange_8361)

已报告给安全团队2023-06-26
发布了 2.4.59 更新2024-04-04
影响直至 2.4.58

Apache HTTP Server:多个模块中的 HTTP 响应拆分(CVE-2024-24795)

Apache HTTP Server 中多个模块中的 HTTP 响应拆分允许能够将恶意响应标头注入后端应用程序的攻击者执行 HTTP 不同步攻击。

建议用户升级到 2.4.59 版本,该版本修复了此问题。

致谢

  • 发现者:清华大学和中关村实验室的 Keran Mu。
  • 发现者:清华大学和中关村实验室的 Jianjun Chen。
已报告给安全团队2023-09-06
发布了 2.4.59 更新2024-04-04
影响2.4.0 到 2.4.58

中等Apache HTTP Server:通过无休止的延续帧导致 HTTP/2 拒绝服务,原因是内存耗尽(CVE-2024-27316)

超过限制的 HTTP/2 进入标头会在 nghttp2 中临时缓冲,以便生成信息丰富的 HTTP 413 响应。如果客户端没有停止发送标头,这会导致内存耗尽。

致谢:发现者:Bartek Nowotarski (https://nowotarski.info/)

已报告给安全团队2024-02-22
发布了 2.4.59 更新2024-04-04
影响2.4.17 到 2.4.58

在 Apache HTTP Server 2.4.58 中修复

mod_macro 缓冲区过读(CVE-2023-31122)

Apache HTTP Server 的 mod_macro 中存在越界读取漏洞。此问题会影响 Apache HTTP Server:直至 2.4.57。

致谢:发现者:David Shoon (github/davidshoon)

发布了 2.4.58 更新2023-10-19
影响直至 2.4.57

Apache HTTP Server:初始窗口大小为 0 的 HTTP/2 中的拒绝服务(CVE-2023-43622)

攻击者以 0 的初始窗口大小打开 HTTP/2 连接,能够无限期地阻止对该连接的处理。这可用于耗尽服务器中的工作程序资源,类似于众所周知的“慢速 loris”攻击模式。

此问题已在 2.4.58 版本中修复,因此此类连接将在配置的连接超时后正确终止。

此问题会影响 Apache HTTP Server:从 2.4.55 到 2.4.57。

建议用户升级到 2.4.58 版本,该版本修复了此问题。

致谢

  • 发现者:纽约城市大学的 Sven Dietrich 教授
  • 发现者:纽约城市大学的 Isa Jafarov
  • 发现者:韩国大学的 Heejo Lee 教授
  • 发现者:韩国大学的 Choongin Lee
已报告给安全团队2023-09-15
发布了 2.4.58 更新2023-10-19
影响2.4.55 到 2.4.57

中等Apache HTTP Server:HTTP/2 流内存未在 RST 上立即回收(CVE-2023-45802)

当客户端重置 HTTP/2 流(RST 帧)时,存在一个时间窗口,在此窗口中,请求的内存资源不会立即回收。相反,取消分配被推迟到连接关闭。客户端可以发送新的请求和重置,使连接保持繁忙和打开状态,并导致内存占用不断增长。在连接关闭时,所有资源都会被回收,但进程可能会在此之前耗尽内存。

这是由报告者在使用他们自己的测试客户端测试 CVE-2023-44487(HTTP/2 快速重置漏洞)时发现的。在“正常”HTTP/2 使用期间,遇到此错误的可能性非常低。在连接关闭或超时之前,保留的内存不会变得明显。

建议用户升级到 2.4.58 版本,该版本修复了此问题。

致谢

  • 发现者:Vul Labs 的 Will Dormann
  • 发现者:Vul Labs 的 David Warren
已报告给安全团队2023-10-12
发布了 2.4.58 更新2023-10-19
影响2.4.17 到 2.4.57

在 Apache HTTP Server 2.4.56 中修复

重要使用 mod_rewrite 和 mod_proxy 的 HTTP 请求拆分(CVE-2023-25690)

Apache HTTP Server 版本 2.4.0 到 2.4.55 上的一些 mod_proxy 配置允许进行 HTTP 请求走私攻击。

当 mod_proxy 启用,并且某些形式的 RewriteRule 或 ProxyPassMatch 中的非特定模式与用户提供的请求目标(URL)数据的一部分匹配,然后使用变量替换重新插入到代理的请求目标中时,配置会受到影响。

例如,类似于

RewriteEngine on

RewriteRule "^/here/(.*)" "http://example.com:8080/elsewhere?$1"; [P]

ProxyPassReverse /here/ http://example.com:8080/

请求拆分/走私可能导致绕过代理服务器中的访问控制,将意外的 URL 代理到现有的源服务器,以及缓存中毒。

致谢:发现者:Adobe 的 Lars Krapf

已报告给安全团队2023-02-02
由 2.4.x 中的 r1908095 修复2023-03-07
发布更新 2.4.562023-03-07
影响2.4.0 到 2.4.55

中等Apache HTTP Server:mod_proxy_uwsgi HTTP 响应拆分(CVE-2023-27522)

Apache HTTP Server 通过 mod_proxy_uwsgi 的 HTTP 响应走私漏洞。此问题影响 Apache HTTP Server:从 2.4.30 到 2.4.55。

源响应标头中的特殊字符可以截断/拆分转发到客户端的响应。

致谢:发现者:Dimas Fariski Setyawan Putra (nyxsorcerer)

已报告给安全团队2023-01-29
由 2.4.x 中的 r1908094 修复2023-03-07
发布更新 2.4.562023-03-07
影响2.4.30 到 2.4.55

在 Apache HTTP Server 2.4.55 中修复

中等mod_dav 越界读取或写入零字节(CVE-2006-20001)

精心制作的 If: 请求标头会导致在发送的标头值之外的池(堆)内存位置读取或写入单个零字节。这会导致进程崩溃。

此问题影响 Apache HTTP Server 2.4.54 及更早版本。

在“软件安全评估艺术”的第一版中描述2006-10-31
已报告给安全团队2022-08-10
发布更新 2.4.552023-01-17
影响2.4 到 2.4.54

中等Apache HTTP Server:mod_proxy_ajp 可能的请求走私(CVE-2022-36760)

Apache HTTP Server 的 mod_proxy_ajp 中的 HTTP 请求解释不一致(“HTTP 请求走私”)漏洞允许攻击者将请求走私到它转发请求到的 AJP 服务器。此问题影响 Apache HTTP Server Apache HTTP Server 2.4 版本 2.4.54 及更早版本。

致谢:发现者:来自奇安信集团奇安信研究中心的 ZeddYu_Lu

已报告给安全团队2022-07-12
发布更新 2.4.552023-01-17
影响2.4 到 2.4.54

中等Apache HTTP Server:mod_proxy 在 2.4.55 之前允许后端触发 HTTP 响应拆分(CVE-2022-37436)

在 Apache HTTP Server 2.4.55 之前,恶意后端会导致响应标头过早截断,导致某些标头被合并到响应主体中。如果后面的标头有任何安全目的,它们将不会被客户端解释。

致谢:发现者:Dimas Fariski Setyawan Putra (@nyxsorcerer)

已报告给安全团队2022-07-14
发布更新 2.4.552023-01-17
影响在 2.4.55 之前

在 Apache HTTP Server 2.4.54 中修复

中等mod_proxy_ajp:可能的请求走私(CVE-2022-26377)

Apache HTTP Server 的 mod_proxy_ajp 中的 HTTP 请求解释不一致(“HTTP 请求走私”)漏洞允许攻击者将请求走私到它转发请求到的 AJP 服务器。此问题影响 Apache HTTP Server Apache HTTP Server 2.4 版本 2.4.53 及更早版本。

致谢:Ricter Z @ 360 Noah Lab

已报告给安全团队2022-03-02
发布更新 2.4.542022-06-08
影响<=2.4.53

mod_isapi 中的越界读取(CVE-2022-28330)

在 Windows 上配置为使用 mod_isapi 模块处理请求的 Apache HTTP Server 2.4.53 及更早版本可能会越界读取。

致谢:Apache HTTP Server 项目感谢 Ronald Crane (Zippenhop LLC) 报告了此问题

发布更新 2.4.542022-06-08
影响<=2.4.53

通过 ap_rwrite() 越界读取(CVE-2022-28614)

如果攻击者可以使用 ap_rwrite() 或 ap_rputs() 导致服务器使用 ap_rwrite() 或 ap_rputs() 反射非常大的输入,例如使用 mod_luas r:puts() 函数,则 Apache HTTP Server 2.4.53 及更早版本中的 ap_rwrite() 函数可能会读取意外的内存。

从 Apache HTTP Server 分别编译和分发的模块,这些模块使用“ap_rputs”函数,并且可能会传递一个非常大的(INT_MAX 或更大)字符串,必须针对当前标头进行编译才能解决此问题。

致谢:Apache HTTP Server 项目感谢 Ronald Crane (Zippenhop LLC) 报告了此问题

在 2.4.54 中发布更新2022-06-08
影响<=2.4.53

ap_strcmp_match() 中的越界读取(CVE-2022-28615)

如果提供了一个非常大的输入缓冲区,Apache HTTP Server 2.4.53 及更早版本可能会崩溃或泄露信息,因为 ap_strcmp_match() 中存在越界读取。虽然与服务器一起分发的代码无法被强制执行此类调用,但使用 ap_strcmp_match() 的第三方模块或 lua 脚本可能会受到影响。

致谢:Apache HTTP Server 项目感谢 Ronald Crane (Zippenhop LLC) 报告了此问题

发布更新 2.4.542022-06-08
影响<=2.4.53

mod_lua r:parsebody 中的拒绝服务(CVE-2022-29404)

在 Apache HTTP Server 2.4.53 及更早版本中,对调用 r:parsebody(0) 的 lua 脚本的恶意请求可能会导致拒绝服务,因为可能的输入大小没有默认限制。

致谢:Apache HTTP Server 项目感谢 Ronald Crane (Zippenhop LLC) 报告了此问题

发布更新 2.4.542022-06-08
影响<=2.4.53

mod_sed 拒绝服务(CVE-2022-30522)

如果 Apache HTTP Server 2.4.53 配置为在输入到 mod_sed 可能非常大的上下文中使用 mod_sed 进行转换,mod_sed 可能会进行过大的内存分配并触发中止。

致谢:此问题由来自 JFrog 安全研究团队的 Brian Moussalli 发现

发布更新 2.4.542022-06-08
影响2.4.53

mod_lua 中使用 websockets 的信息泄露(CVE-2022-30556)

Apache HTTP Server 2.4.53 及更早版本可能会返回调用 r:wsread() 的应用程序的长度,这些长度指向分配给缓冲区的存储的末尾。

致谢:Apache HTTP Server 项目感谢 Ronald Crane (Zippenhop LLC) 报告了此问题

发布更新 2.4.542022-06-08
影响<=2.4.53

mod_proxy X-Forwarded-For 被逐跳机制丢弃(CVE-2022-31813)

Apache HTTP Server 2.4.53 及更早版本可能不会根据客户端的 Connection 标头逐跳机制将 X-Forwarded-* 标头发送到源服务器。

这可能用于绕过源服务器/应用程序上的基于 IP 的身份验证。

致谢:Apache HTTP Server 项目感谢 Gaetan Ferry (Synacktiv) 报告了此问题

发布更新 2.4.542022-06-08
影响<=2.4.53

在 Apache HTTP Server 2.4.53 中修复

中等mod_lua 在 r:parsebody 中使用未初始化的值(CVE-2022-22719)

精心制作的请求主体会导致读取随机内存区域,这会导致进程崩溃。

此问题影响 Apache HTTP Server 2.4.52 及更早版本。

致谢:Chamal De Silva

已报告给安全团队2021-12-18
由 2.4.x 中的 r1898694 修复2022-03-07
发布更新 2.4.532022-03-14
影响<=2.4.52

重要Apache HTTP Server 2.4.52 及更早版本中的 HTTP 请求走私漏洞(CVE-2022-22720)

Apache HTTP Server 2.4.52 及更早版本在遇到错误时无法关闭入站连接,从而丢弃请求主体,使服务器暴露于 HTTP 请求走私

致谢:James Kettle <james.kettle portswigger.net>

已报告给安全团队2021-12-17
由 2.4.x 中的 r1898692 修复2022-03-07
发布更新 2.4.532022-03-14
影响<=2.4.52

核心:使用非常大或无限的 LimitXMLRequestBody 可能发生的缓冲区溢出(CVE-2022-22721)

如果 LimitXMLRequestBody 设置为允许在 32 位系统上请求主体大于 350MB(默认值为 1M),则会发生整数溢出,这会导致越界写入。

此问题影响 Apache HTTP Server 2.4.52 及更早版本。

致谢:与趋势科技零日计划合作的匿名人士

已报告给安全团队2021-12-16
由 2.4.x 中的 r1898693 修复2022-03-07
发布更新 2.4.532022-03-14
影响<=2.4.52

重要mod_sed:越界读取/写入(CVE-2022-23943)

Apache HTTP Server 的 mod_sed 中的越界写入漏洞允许攻击者用可能由攻击者提供的數據覆盖堆内存。

此问题影响 Apache HTTP Server 2.4 版本 2.4.52 及更早版本。

致谢:Ronald Crane (Zippenhop LLC)

已报告给安全团队2022-01-13
由 2.4.x 中的 r1898695、r1898772 修复2022-03-09
发布更新 2.4.532022-03-14
影响<=2.4.52

在 Apache HTTP Server 2.4.52 中修复

中等Apache HTTP Server 2.4.51 及更早版本中转发代理配置中可能发生的 NULL 解引用或 SSRF(CVE-2021-44224)

发送到配置为转发代理(ProxyRequests on)的 httpd 的精心制作的 URI 会导致崩溃(NULL 指针解引用),或者对于混合了转发和反向代理声明的配置,可以允许将请求定向到声明的 Unix 域套接字端点(服务器端请求伪造)。

此问题影响 Apache HTTP Server 2.4.7 到 2.4.51(包括)。

致谢

  • 漂亮鼠
  • TengMA(@Te3t123)
已报告给安全团队2021-11-18
由 2.4.x 中的 r1895955、r1896044 修复2021-12-14
发布更新 2.4.522021-12-20
影响>=2.4.7, <=2.4.51

重要Apache HTTP Server 2.4.51 及更早版本中 mod_lua 解析 multipart 内容时可能发生的缓冲区溢出(CVE-2021-44790)

精心制作的请求主体会导致 mod_lua multipart 解析器(从 Lua 脚本调用的 r:parsebody())发生缓冲区溢出。

Apache httpd 团队没有意识到此漏洞的利用方式,尽管可能存在利用方式。

此问题影响 Apache HTTP Server 2.4.51 及更早版本。

致谢:Chamal

已报告给安全团队2021-12-07
由 2.4.x 中的 r1896039 修复2021-12-16
发布更新 2.4.522021-12-20
影响<=2.4.51

在 Apache HTTP Server 2.4.51 中修复

严重Apache HTTP Server 2.4.49 和 2.4.50 中的路径遍历和远程代码执行(CVE-2021-41773 的修复不完整)(CVE-2021-42013)

发现 Apache HTTP Server 2.4.50 中针对 CVE-2021-41773 的修复不足。攻击者可以使用路径遍历攻击将 URL 映射到 Alias 类指令配置的目录之外的文件。

如果这些目录之外的文件没有受到通常的默认配置“require all denied”的保护,这些请求可能会成功。如果 CGI 脚本也为这些别名路径启用,这可能会导致远程代码执行。

此问题仅影响 Apache 2.4.49 和 Apache 2.4.50,而不影响更早版本。

致谢

  • 由来自 Dreamlab Technologies 的 Juan Escobar 报告
  • 由来自 NULL Life CTF 团队的 Fernando Muñoz 报告
  • 由 Shungo Kumasaka 报告
  • 由 Nattapon Jongcharoen 报告
已报告给安全团队2021-10-06
由 2.4.x 中的 r1893977、r1893980、r1893982 修复2021-10-07
发布更新 2.4.512021-10-07
影响2.4.50, 2.4.49

在 Apache HTTP Server 2.4.50 中修复

中等h2 fuzzing 中的空指针解引用(CVE-2021-41524)

在对 2.4.49 httpd 进行模糊测试时,在 HTTP/2 请求处理期间检测到新的空指针解引用,

允许外部来源对服务器进行 DoS 攻击。这需要精心制作的请求。

该漏洞最近在 2.4.49 版本中引入。项目不知道任何利用方式。

致谢:Apache httpd 团队感谢来自 NSFocus 安全团队的 LI ZHI XIN 报告了此问题。

已报告给安全团队2021-09-17
由 2.4.x 中的 r1893655 修复2021-09-26
发布更新 2.4.502021-10-04
影响2.4.49

严重Apache HTTP Server 2.4.49 中的路径遍历和文件泄露漏洞(CVE-2021-41773)

在 Apache HTTP Server 2.4.49 中对路径规范化进行的更改中发现了一个缺陷。攻击者可以使用路径遍历攻击将 URL 映射到 Alias 类指令配置的目录之外的文件。

如果这些目录之外的文件没有受到通常的默认配置“require all denied”的保护,这些请求可能会成功。如果 CGI 脚本也为这些别名路径启用,这可能会导致远程代码执行。

此问题已知在野外被利用。

此问题仅影响 Apache 2.4.49,不影响早期版本。

致谢:此问题由 Ash Daulton 和 cPanel 安全团队报告。

已报告给安全团队2021-09-29
在 2.4.x 中通过 r1893775 修复。2021-10-01
发布更新 2.4.502021-10-04
影响2.4.49

在 Apache HTTP Server 2.4.49 中修复。

中等通过 HTTP/2 方法注入和 mod_proxy 进行请求拆分。(CVE-2021-33193)

通过 HTTP/2 发送的精心制作的方法将绕过验证并由 mod_proxy 转发,这可能导致请求拆分或缓存中毒。

此问题影响 Apache HTTP Server 2.4.17 到 2.4.48。

致谢:由 PortSwigger 的 James Kettle 报告。

已报告给安全团队2021-05-11
问题公开。2021-08-06
发布 2.4.49 更新。2021-09-16
影响<=2.4.48, !<2.4.17

中等httpd 核心中的空指针解引用。(CVE-2021-34798)

格式错误的请求可能会导致服务器解引用空指针。

此问题影响 Apache HTTP Server 2.4.48 及更早版本。

致谢:此问题由 Apache HTTP 安全团队发现。

发布 2.4.49 更新。2021-09-16
影响<=2.4.48

中等mod_proxy_uwsgi 越界读取。(CVE-2021-36160)

精心制作的请求 uri-path 可能会导致 mod_proxy_uwsgi 读取分配内存之外的内容并崩溃 (DoS)。

此问题影响 Apache HTTP Server 版本 2.4.30 到 2.4.48(含)。

致谢:来自 NSFocus 安全团队的 LI ZHI XIN。

已报告给安全团队2021-04-26
发布 2.4.49 更新。2021-09-16
影响<=2.4.48, !<2.4.30

ap_escape_quotes 缓冲区溢出。(CVE-2021-39275)

当给定恶意输入时,ap_escape_quotes() 可能会写入缓冲区末尾之外。

没有包含的模块将不受信任的数据传递给这些函数,但第三方/外部模块可能会。

此问题影响 Apache HTTP Server 2.4.48 及更早版本。

致谢:ClusterFuzz。

发布 2.4.49 更新。2021-09-16
影响<=2.4.48

重要mod_proxy SSRF。(CVE-2021-40438)

精心制作的请求 uri-path 可能会导致 mod_proxy 将请求转发到远程用户选择的源服务器。

此问题影响 Apache HTTP Server 2.4.48 及更早版本。

致谢:Apache HTTP 安全团队在分析 CVE-2021-36160 时发现了此问题。

发布 2.4.49 更新。2021-09-16
影响<=2.4.48

在 Apache HTTP Server 2.4.48 中修复。

中等mod_proxy_wstunnel 非升级连接的隧道。(CVE-2019-17567)

Apache HTTP Server 版本 2.4.6 到 2.4.46 上配置在不一定由源服务器升级的 URL 上的 mod_proxy_wstunnel 无论如何都会对整个连接进行隧道传输,从而允许在同一连接上的后续请求通过,而无需进行 HTTP 验证、身份验证或授权可能配置。

致谢:由 Mikhail Egorov (<0ang3el gmail.com>) 报告。

已报告给安全团队2019-10-05
问题公开。2021-06-01
发布 2.4.48 更新。2021-06-01
影响2.4.46, 2.4.43, 2.4.41, 2.4.39, 2.4.38, 2.4.37, 2.4.35, 2.4.34, 2.4.33, 2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 2.4.23, 2.4.20, 2.4.18, 2.4.17, 2.4.16, 2.4.12, 2.4.10, 2.4.9, 2.4.7, 2.4.6

中等对权限不足的处理不当。(CVE-2020-13938)

Apache HTTP Server 版本 2.4.0 到 2.4.46 非特权本地用户可以在 Windows 上停止 httpd。

致谢:由 Ivan Zhakov 发现。

已报告给安全团队2021-01-26
问题公开。2021-06-01
发布 2.4.48 更新。2021-06-01
影响2.4.46, 2.4.43, 2.4.41, 2.4.39, 2.4.38, 2.4.37, 2.4.35, 2.4.34, 2.4.33, 2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 2.4.23, 2.4.20, 2.4.18, 2.4.17, 2.4.16, 2.4.12, 2.4.10, 2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1, 2.4.0

mod_proxy_http 空指针解引用。(CVE-2020-13950)

Apache HTTP Server 版本 2.4.41 到 2.4.46 mod_proxy_http 可以使用同时使用 Content-Length 和 Transfer-Encoding 标头的精心制作的请求来使其崩溃(空指针解引用),从而导致拒绝服务。

致谢:由 Marc Stern (<[email protected]>) 报告。

已报告给安全团队2020-09-11
问题公开。2021-06-01
发布 2.4.48 更新。2021-06-01
影响2.4.46, 2.4.43, 2.4.41

mod_auth_digest 可能因一个空字节而导致堆栈溢出。(CVE-2020-35452)

Apache HTTP Server 版本 2.4.0 到 2.4.46 精心制作的 Digest nonce 可能会导致 mod_auth_digest 中发生堆栈溢出。没有关于此溢出可被利用的报告,Apache HTTP Server 团队也无法创建任何报告,尽管某些特定的编译器和/或编译选项可能会使其成为可能,但由于溢出的大小(单个字节)和值(零字节)以及溢出的大小(单个字节)和值(零字节),其后果仍然有限。

致谢:此问题由 GHSL 团队成员 @antonio-morales(Antonio Morales)发现并报告。

已报告给安全团队2020-11-11
问题公开。2021-06-01
发布 2.4.48 更新。2021-06-01
影响2.4.46, 2.4.43, 2.4.41, 2.4.39, 2.4.38, 2.4.37, 2.4.35, 2.4.34, 2.4.33, 2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 2.4.23, 2.4.20, 2.4.18, 2.4.17, 2.4.16, 2.4.12, 2.4.10, 2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1, 2.4.0

mod_session 空指针解引用。(CVE-2021-26690)

Apache HTTP Server 版本 2.4.0 到 2.4.46 由 mod_session 处理的精心制作的 Cookie 标头可能会导致空指针解引用和崩溃,从而导致可能的拒绝服务。

致谢:此问题由 GHSL 团队成员 @antonio-morales(Antonio Morales)发现并报告。

已报告给安全团队2021-02-08
问题公开。2021-06-01
发布 2.4.48 更新。2021-06-01
影响2.4.46, 2.4.43, 2.4.41, 2.4.39, 2.4.38, 2.4.37, 2.4.35, 2.4.34, 2.4.33, 2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 2.4.23, 2.4.20, 2.4.18, 2.4.17, 2.4.16, 2.4.12, 2.4.10, 2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1, 2.4.0

mod_session 响应处理堆溢出。(CVE-2021-26691)

Apache HTTP Server 版本 2.4.0 到 2.4.46 由源服务器发送的精心制作的 SessionHeader 可能会导致堆溢出。

致谢:由 Christophe Jaillet 在内部发现。

已报告给安全团队2021-03-01
问题公开。2021-06-01
发布 2.4.48 更新。2021-06-01
影响2.4.46, 2.4.43, 2.4.41, 2.4.39, 2.4.38, 2.4.37, 2.4.35, 2.4.34, 2.4.33, 2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 2.4.23, 2.4.20, 2.4.18, 2.4.17, 2.4.16, 2.4.12, 2.4.10, 2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1, 2.4.0

中等使用“MergeSlashes OFF”时出现意外的 URL 匹配。(CVE-2021-30641)

Apache HTTP Server 版本 2.4.39 到 2.4.46 使用“MergeSlashes OFF”时出现意外的匹配行为。

致谢:由 Christoph Anton Mitterer 发现。

已报告给安全团队2021-04-14
问题公开。2021-06-01
发布 2.4.48 更新。2021-06-01
影响2.4.46, 2.4.43, 2.4.41, 2.4.39

重要对精心制作的 HTTP/2 请求进行空指针解引用。(CVE-2021-31618)

Apache HTTP Server 用于 HTTP/2 协议的协议处理程序会根据为服务器配置的大小限制以及用于 HTTP/1 协议的大小限制来检查接收到的请求标头。如果违反这些限制,HTTP 响应将发送给客户端,并使用状态代码指示拒绝请求的原因。

如果违规标头是收到的第一个标头或出现在页脚中,则 HTTP/2 协议处理程序中此拒绝响应未完全初始化。这导致在已初始化的内存上进行空指针解引用,从而可靠地使子进程崩溃。由于这种触发 HTTP/2 请求很容易制作和提交,因此可以利用它来对服务器进行 DoS 攻击。

此问题仅影响 mod_http2 1.15.17 和 Apache HTTP Server 版本 2.4.47。Apache HTTP Server 2.4.47 从未发布。

致谢:Apache HTTP 服务器感谢 NSFoucs 的 LI ZHI XIN 报告此问题。

已报告给安全团队2021-04-22
问题公开。2021-06-01
发布 2.4.48 更新。2021-06-01
影响2.4.47

在 Apache HTTP Server 2.4.44 中修复。

重要在特定制作的 HTTP/2 标头上的推送日志崩溃。(CVE-2020-9490)

在 Apache HTTP Server 版本 2.4.20 到 2.4.43 中,HTTP/2 请求中“Cache-Digest”标头的精心制作的值会导致服务器在实际尝试 HTTP/2 PUSH 资源时发生崩溃。通过“H2Push off”配置 HTTP/2 功能将减轻未修补服务器的此漏洞。

致谢:Google Project Zero 的 Felix Wilhelm。

已报告给安全团队2020-04-24
问题公开。2020-08-07
发布 2.4.44 更新。2020-08-07
影响2.4.43, 2.4.39, 2.4.38, 2.4.37, 2.4.35, 2.4.34, 2.4.33, 2.4.30, 2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 2.4.23, 2.4.20

中等mod_proxy_uwsgi 缓冲区溢出。(CVE-2020-11984)

在 Apache HTTP Server 版本 2.4.32 到 2.4.43 中,mod_proxy_uwsgi 存在信息泄露和可能的 RCE。

致谢:由 Google Project Zero 的 Felix Wilhelm 发现。

已报告给安全团队2020-07-22
问题公开。2020-08-07
发布 2.4.44 更新。2020-08-07
影响2.4.39, 2.4.38, 2.4.37, 2.4.35, 2.4.34, 2.4.33

中等在特定制作的 HTTP/2 标头上的推送日志崩溃。(CVE-2020-11993)

在 Apache HTTP Server 版本 2.4.20 到 2.4.43 中,当为 HTTP/2 模块启用跟踪/调试并在某些流量边缘模式下,日志语句会在错误的连接上进行,从而导致内存池的并发使用。

将 mod_http2 的 LogLevel 配置为高于“info”将减轻未修补服务器的此漏洞。

致谢:Google Project Zero 的 Felix Wilhelm。

已报告给安全团队2020-06-16
问题公开。2020-08-07
发布 2.4.44 更新。2020-08-07
影响2.4.43, 2.4.39, 2.4.38, 2.4.37, 2.4.35, 2.4.34, 2.4.33, 2.4.30, 2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 2.4.23, 2.4.20

在 Apache HTTP Server 2.4.42 中修复。

mod_rewrite CWE-601 开放重定向。(CVE-2020-1927)

在 Apache HTTP Server 版本 2.4.0 到 2.4.41 中,某些 mod_rewrite 配置容易受到开放重定向的影响。

致谢:此问题由 Fabrice Perez 发现。

已报告给安全团队2019-12-05
问题公开。2020-04-01
发布 2.4.42 更新。2020-04-01
影响2.4.41, 2.4.40, 2.4.39, 2.4.38, 2.4.37, 2.4.35, 2.4.34, 2.4.33, 2.4.30, 2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 2.4.23, 2.4.20, 2.4.18, 2.4.17, 2.4.16, 2.4.12, 2.4.10, 2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1, 2.4.0

mod_proxy_ftp 使用未初始化的值。(CVE-2020-1934)

在 Apache HTTP Server 版本 2.4.0 到 2.4.41 中,mod_proxy_ftp 使用未初始化的值,并使用恶意的 FTP 后端。

致谢:此问题由 Chamal De Silva 发现。

已报告给安全团队2020-01-03
问题公开。2020-04-01
发布 2.4.42 更新。2020-04-01
影响2.4.41, 2.4.40, 2.4.39, 2.4.38, 2.4.37, 2.4.35, 2.4.34, 2.4.33, 2.4.30, 2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 2.4.23, 2.4.20, 2.4.18, 2.4.17, 2.4.16, 2.4.12, 2.4.10, 2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1, 2.4.0

在 Apache HTTP Server 2.4.41 中修复。

中等mod_http2,通过耗尽 h2 工作人员进行 DoS 攻击。(CVE-2019-9517)

恶意客户端可以通过用请求淹没连接并基本上从不读取 TCP 连接上的响应来执行 DoS 攻击。根据 h2 工作人员的尺寸,可以使用相对较少的连接来阻止这些连接。

致谢:此问题由 Netflix 的 Jonathan Looney 发现。

已报告给安全团队2019-04-10
问题公开。2019-08-14
发布 2.4.41 更新。2019-08-14
影响2.4.39, 2.4.38, 2.4.37, 2.4.35, 2.4.34, 2.4.33, 2.4.32, 2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 2.4.23, 2.4.20

中等mod_http2,在早期推送时出现内存损坏。(CVE-2019-10081)

HTTP/2 非常早期的推送(例如,使用“H2PushResource”配置)可能会导致在推送请求的池中覆盖内存,从而导致崩溃。复制的内存是配置的推送链接标头值的内存,而不是客户端提供的数据。

致谢:此问题由 Tripwire VERT 的 Craig Young 发现,<[email protected]>。

已报告给安全团队2019-04-10
问题公开。2019-08-14
发布 2.4.41 更新。2019-08-14
影响2.4.39, 2.4.38, 2.4.37, 2.4.35, 2.4.34, 2.4.33, 2.4.32, 2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 2.4.23, 2.4.20

中等mod_http2,在 h2 连接关闭时出现释放后使用。(CVE-2019-10082)

使用模糊的网络输入,http/2 会话处理可以在连接关闭期间在释放后访问内存。

致谢:此问题由 Tripwire VERT 的 Craig Young 发现,<[email protected]>。

已报告给安全团队2019-04-12
问题公开。2019-08-14
发布 2.4.41 更新。2019-08-14
影响2.4.39, 2.4.38, 2.4.37, 2.4.35, 2.4.34, 2.4.33, 2.4.32, 2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 2.4.23, 2.4.20, 2.4.18

mod_proxy 错误页面中的有限跨站点脚本。(CVE-2019-10092)

据报道,一个有限的跨站点脚本问题影响了 mod_proxy 错误页面。攻击者可能会导致错误页面上的链接格式错误,并改为指向他们选择的页面。这仅在服务器配置为启用代理但配置错误以致显示代理错误页面时才可利用。我们借此机会还从许多其他内置错误消息中删除了请求数据。但是请注意,此问题并未直接影响它们,并且它们的输出已转义以防止跨站点脚本攻击。

致谢:此问题由 Matei “Mal” Badanoiu 报告。

已报告给安全团队2019-07-09
问题公开。2019-08-14
发布 2.4.41 更新。2019-08-14
影响2.4.39, 2.4.38, 2.4.37, 2.4.35, 2.4.34, 2.4.33, 2.4.30, 2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 2.4.23, 2.4.20, 2.4.18, 2.4.17, 2.4.16, 2.4.12, 2.4.10, 2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1, 2.4.0

中等CVE-2019-10097 mod_remoteip:堆栈缓冲区溢出和空指针解引用。(CVE-2019-10097)

当 mod_remoteip 配置为使用使用“PROXY”协议的可信中介代理服务器时,精心制作的 PROXY 标头可能会触发堆栈缓冲区溢出或空指针解引用。此漏洞只能由可信代理触发,而不能由不可信的 HTTP 客户端触发。

致谢:此问题由 Daniel McCarney <[email protected]> Let's Encrypt / Internet Security Research Group (ISRG) 发现。

已报告给安全团队2019-07-23
问题公开。2019-08-14
发布 2.4.41 更新。2019-08-14
影响2.4.38, 2.4.37, 2.4.35, 2.4.34, 2.4.33

mod_rewrite 潜在的开放重定向。(CVE-2019-10098)

使用 mod_rewrite 配置的旨在自我引用的重定向可能会被编码的换行符欺骗,并改为重定向到请求 URL 中的意外 URL。

致谢:此问题由 Yukitsugu Sasaki 发现。

已报告给安全团队2019-03-26
问题公开。2019-08-14
发布 2.4.41 更新。2019-08-14
影响2.4.39, 2.4.38, 2.4.37, 2.4.35, 2.4.34, 2.4.33, 2.4.30, 2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 2.4.23, 2.4.20, 2.4.18, 2.4.17, 2.4.16, 2.4.12, 2.4.10, 2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1, 2.4.0

在 Apache HTTP Server 2.4.39 中修复。

mod_http2,在字符串比较时出现释放后使用。(CVE-2019-0196)

使用模糊的网络输入,http/2 请求处理可以在确定请求方法时在字符串比较中访问已释放的内存,从而导致请求处理不正确。

致谢:此问题由 Craig Young 发现,<[email protected]>。

已报告给安全团队2019-01-29
问题公开。2019-04-01
发布 2.4.39 更新。2019-04-01
影响2.4.38, 2.4.37, 2.4.35, 2.4.34, 2.4.33, 2.4.30, 2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 2.4.23, 2.4.20, 2.4.18, 2.4.17

mod_http2,在延迟升级时可能发生崩溃。(CVE-2019-0197)

当为 http: 主机启用 HTTP/2 或为 https: 主机上的 h2 启用 H2Upgrade 时,来自 http/1.1 到 http/2 的升级请求(不是连接上的第一个请求)可能会导致配置错误并崩溃。从未启用 h2 协议或仅为 https: 启用该协议且未配置“H2Upgrade on”的服务器不受此问题的影响。

致谢:该问题由 Stefan Eissing(greenbytes.de)发现。

已报告给安全团队2019-01-29
问题公开。2019-04-01
发布 2.4.39 更新。2019-04-01
影响2.4.38, 2.4.37, 2.4.35, 2.4.34

重要Apache HTTP Server 模块脚本权限提升(CVE-2019-0211)

在 Apache HTTP Server 2.4 版本 2.4.17 到 2.4.38 中,使用 MPM event、worker 或 prefork 时,在特权较低的子进程或线程中执行的代码(包括由进程内脚本解释器执行的脚本)可以通过操纵记分板以父进程(通常为 root)的特权执行任意代码。非 Unix 系统不受影响。

致谢:该问题由 Charles Fol 发现。

已报告给安全团队2019-02-22
问题公开。2019-04-01
发布 2.4.39 更新。2019-04-01
影响2.4.38, 2.4.37, 2.4.35, 2.4.34, 2.4.33, 2.4.30, 2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 2.4.23, 2.4.20, 2.4.18, 2.4.17

重要mod_ssl 访问控制绕过(CVE-2019-0215)

在 Apache HTTP Server 2.4 版本 2.4.37 和 2.4.38 中,mod_ssl 在使用每个位置的客户端证书验证与 TLSv1.3 时存在一个错误,允许支持握手后身份验证的客户端绕过配置的访问控制限制。

致谢:该问题由 Michael Kaufmann 发现。

已报告给安全团队2019-01-23
问题公开。2019-04-01
发布 2.4.39 更新。2019-04-01
影响2.4.38, 2.4.37

重要mod_auth_digest 访问控制绕过(CVE-2019-0217)

在 Apache HTTP Server 2.4 版本 2.4.38 及更早版本中,mod_auth_digest 在线程化服务器中运行时存在一个竞争条件,可能允许具有有效凭据的用户使用另一个用户名进行身份验证,从而绕过配置的访问控制限制。

致谢:该问题由 Simon Kappel 发现。

已报告给安全团队2019-01-29
问题公开。2019-04-01
发布 2.4.39 更新。2019-04-01
影响2.4.38, 2.4.37, 2.4.35, 2.4.34, 2.4.33, 2.4.30, 2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 2.4.23, 2.4.20, 2.4.18, 2.4.17, 2.4.16, 2.4.12, 2.4.10, 2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1, 2.4.0

Apache httpd URL 规范化不一致(CVE-2019-0220)

当请求 URL 的路径组件包含多个连续的斜杠('/')时,LocationMatch 和 RewriteRule 等指令必须在正则表达式中考虑重复项,而服务器处理的其他方面会隐式地将它们折叠。

致谢:该问题由 Alpha Strike Labs GmbH 的 Bernhard Lorenz <[email protected]> 发现。

已报告给安全团队2019-01-20
问题公开。2019-04-01
发布 2.4.39 更新。2019-04-01
影响2.4.38, 2.4.37, 2.4.35, 2.4.34, 2.4.33, 2.4.30, 2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 2.4.23, 2.4.20, 2.4.18, 2.4.17, 2.4.16, 2.4.12, 2.4.10, 2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1, 2.4.0

已在 Apache HTTP Server 2.4.38 中修复

通过缓慢的请求主体对 HTTP/2 连接进行 DoS 攻击(CVE-2018-17189)

通过以慢速 loris 方式将请求主体发送到普通资源,该请求的 h2 流会不必要地占用服务器线程来清理传入数据。这仅影响 HTTP/2 连接。可能的缓解措施是不启用 h2 协议。

致谢:该问题由 F5 Networks 的 Gal Goldshtein 发现。

已报告给安全团队2018-10-16
问题公开。2019-01-22
发布 2.4.38 更新2019-02-28
影响2.4.37, 2.4.35, 2.4.34, 2.4.33, 2.4.30, 2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 2.4.23, 2.4.20, 2.4.18, 2.4.17

mod_session_cookie 不尊重过期时间(CVE-2018-17199)

在 Apache HTTP Server 2.4 版本 2.4.37 及更早版本中,mod_session 会在解码会话之前检查会话过期时间。这会导致 mod_session_cookie 会话的会话过期时间被忽略,因为过期时间是在解码会话时加载的。

致谢:该问题由 ImExHS 的 Diego Angulo 发现。

已报告给安全团队2018-10-08
问题公开。2019-01-22
发布 2.4.38 更新2019-02-28
影响2.4.37, 2.4.35, 2.4.34, 2.4.33, 2.4.30, 2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 2.4.23, 2.4.20, 2.4.18, 2.4.17, 2.4.16, 2.4.12, 2.4.10, 2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1, 2.4.0

重要mod_ssl 2.4.37 与 OpenSSL 1.1.1 一起使用时的远程 DoS 攻击(CVE-2019-0190)

mod_ssl 处理客户端重新协商的方式存在一个错误。远程攻击者可以发送精心制作的请求,导致 mod_ssl 进入循环,从而导致拒绝服务。此错误仅在使用 OpenSSL 版本 1.1.1 或更高版本的 Apache HTTP Server 版本 2.4.37 中才能触发,这是由于处理重新协商尝试的更改之间的交互造成的。

致谢:该问题是通过用户错误报告发现的。

已报告给安全团队2019-01-01
问题公开。2019-01-22
发布 2.4.38 更新2019-02-28
影响2.4.37

已在 Apache HTTP Server 2.4.35 中修复

通过连续的 SETTINGS 对 HTTP/2 连接进行 DoS 攻击(CVE-2018-11763)

通过发送最大尺寸的连续 SETTINGS 帧,可以使正在进行的 HTTP/2 连接保持繁忙,并且永远不会超时。这可以被滥用于对服务器进行 DoS 攻击。这仅影响已启用 h2 协议的服务器。

致谢:该问题由 F5 Networks 的 Gal Goldshtein 发现。

已报告给安全团队2018-07-18
问题公开。2018-09-25
发布 2.4.35 更新2018-09-29
影响2.4.34, 2.4.33, 2.4.30, 2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 2.4.23, 2.4.20, 2.4.18

已在 Apache HTTP Server 2.4.34 中修复

通过精心制作的请求对 HTTP/2 连接进行 DoS 攻击(CVE-2018-1333)

通过专门制作 HTTP/2 请求,工作线程将比必要的时间多分配 60 秒,导致工作线程耗尽并拒绝服务。此问题仅影响已配置并启用 HTTP/2 支持的服务器,这不是默认设置。

致谢:该问题由 Tripwire VERT 的 Craig Young 发现。

已报告给安全团队2018-05-08
问题公开。2018-07-18
发布 2.4.34 更新2018-07-15
影响2.4.33, 2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 2.4.23, 2.4.20, 2.4.18

中等mod_md,通过精心制作的请求进行 DoS 攻击(CVE-2018-8011)

通过专门制作 HTTP 请求,mod_md 挑战处理程序将取消引用空指针并导致子进程出现段错误。这可以用来对服务器进行 DoS 攻击。

致谢:该问题由 Daniel Caminada <[email protected]> 发现。

已报告给安全团队2018-06-29
问题公开。2018-07-18
发布 2.4.34 更新2018-07-15
影响2.4.33

已在 Apache HTTP Server 2.4.33 中修复

在使用过小的 Accept-Language 值时,mod_authnz_ldap 中的越界写入(CVE-2017-15710)

mod_authnz_ldap(如果配置了 AuthLDAPCharsetConfig)使用 Accept-Language 标头值在验证用户凭据时查找正确的字符集编码。如果标头值不在字符集转换表中,则会使用回退机制将其截断为两位字符的值以允许快速重试(例如,'en-US' 被截断为 'en')。小于两位字符的标头值会导致将一个 NUL 字节越界写入到字符串之外的内存位置。在最坏的情况下(不太可能),进程将崩溃,这可以被用作拒绝服务攻击。在更可能的情况下,此内存已为将来使用而预留,并且此问题根本没有影响。

致谢:Apache HTTP Server 安全团队感谢 Alex Nichols 和 Jakob Hirsch 报告了此问题。

已报告给安全团队2017-12-07
问题公开。2018-03-21
发布 2.4.33 更新2018-03-21
影响2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 2.4.23, 2.4.20, 2.4.18, 2.4.17, 2.4.16, 2.4.12, 2.4.10, 2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1

<FilesMatch> 绕过,文件名中包含尾随换行符(CVE-2017-15715)

<FilesMatch> 中指定的表达式可能会将 '$' 匹配到恶意文件名中的换行符,而不是仅匹配文件名末尾。这可以在某些文件上传被外部阻止的环境中利用,但只能通过匹配文件名的尾部部分来实现。

致谢:该问题由 Elar Lang - security.elarlang.eu 发现。

已报告给安全团队2017-11-24
问题公开。2018-03-21
发布 2.4.33 更新2018-03-21
影响2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 2.4.23, 2.4.20, 2.4.18, 2.4.17, 2.4.16, 2.4.12, 2.4.10, 2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1

中等篡改 CGI 应用程序的 mod_session 数据(CVE-2018-1283)

当 mod_session 配置为将其会话数据转发到 CGI 应用程序(SessionEnv 打开,不是默认设置)时,远程用户可以使用“Session”标头影响其内容。这来自 mod_session 用于将其数据转发到 CGI 的“HTTP_SESSION”变量名,因为“HTTP_”前缀也由 Apache HTTP Server 用于传递 HTTP 标头字段,根据 CGI 规范。严重程度设置为中等,因为“SessionEnv on”不是默认设置,也不是常见的配置,但如果确实如此,则应将其视为更严重,因为可能存在远程利用。

致谢:该问题由 Apache HTTP Server 团队内部发现。

已报告给安全团队2017-11-14
问题公开。2018-03-21
发布 2.4.33 更新2018-03-21
影响2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 2.4.23, 2.4.20, 2.4.18, 2.4.17, 2.4.16, 2.4.12, 2.4.10, 2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1

在读取 HTTP 请求失败后可能出现越界访问(CVE-2018-1301)

精心制作的请求可能会在 2.4.33 之前的 Apache HTTP Server 版本中导致崩溃,这是由于在读取 HTTP 标头时达到大小限制后出现越界访问。此漏洞在非调试模式(日志和构建级别)下被认为非常难以触发,甚至不可能触发,因此对于常见的服务器使用来说,它被归类为低风险。

致谢:该问题由 Robert Swiecki 发现,错误由 honggfuzz 发现。

已报告给安全团队2018-01-23
问题公开。2018-03-21
发布 2.4.33 更新2018-03-21
影响2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 2.4.23, 2.4.20, 2.4.18, 2.4.17, 2.4.16, 2.4.12, 2.4.10, 2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1

在 HTTP/2 流关闭时可能出现释放后使用(CVE-2018-1302)

当 HTTP/2 流在处理后被销毁时,2.4.33 之前的 Apache HTTP Server 版本可能会将空指针写入可能已释放的内存。服务器维护的内存池使此漏洞在通常的配置中难以触发,报告者和团队无法在调试构建之外重现它,因此它被归类为低风险。

致谢:该问题由 Robert Swiecki 发现,错误由 honggfuzz 发现。

已报告给安全团队2018-01-23
问题公开。2018-03-21
发布 2.4.33 更新2018-03-21
影响2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 2.4.23, 2.4.20, 2.4.18, 2.4.17

mod_cache_socache 中可能出现越界读取(CVE-2018-1303)

精心制作的 HTTP 请求标头可能会在 2.4.33 之前的 Apache HTTP Server 版本中导致崩溃,这是由于在准备要缓存在共享内存中的数据时出现越界读取。它可以被用作针对 mod_cache_socache 用户的拒绝服务攻击。

致谢:该问题由 Robert Swiecki 发现,错误由 honggfuzz 发现。

已报告给安全团队2018-01-23
问题公开。2018-03-21
发布 2.4.33 更新2018-03-21
影响2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 2.4.23, 2.4.20, 2.4.18, 2.4.17, 2.4.16, 2.4.12, 2.4.10, 2.4.9, 2.4.7, 2.4.6

mod_auth_digest 中的弱摘要身份验证 nonce 生成(CVE-2018-1312)

在生成 HTTP 摘要身份验证挑战时,用于防止重放攻击的 nonce 未使用伪随机种子正确生成。在使用公共摘要身份验证配置的服务器集群中,攻击者可以跨服务器重放 HTTP 请求,而不会被检测到。

致谢:该问题由 Nicolas Daniels 发现。

已报告给安全团队2013-03-05
问题公开。2018-03-21
发布 2.4.33 更新2018-03-21
影响2.4.29, 2.4.28, 2.4.27, 2.4.26, 2.4.25, 2.4.23, 2.4.20, 2.4.18, 2.4.17, 2.4.16, 2.4.12, 2.4.10, 2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1

已在 Apache HTTP Server 2.4.28 中修复

在 .htaccess 中使用 <Limit > 时,使用无法识别的 method 会出现释放后使用(“OptionsBleed”)(CVE-2017-9798)

当在 .htaccess 文件中的 <Limit {method}> 指令中给出无法识别的 HTTP 方法时,并且该 .htaccess 文件由相应的请求处理,当前工作进程中的全局方法表将被破坏,导致行为不稳定。可以通过在 httpd 版本 2.4.25 及更高版本中在全局 httpd.conf RegisterHttpMethod 指令中列出所有不寻常的 HTTP 方法来避免此行为。要允许其他 .htaccess 指令,同时拒绝 <Limit > 指令,请参阅 AllowOverrideList 指令。源代码补丁(2.4)位于;CVE-2017-9798-patch-2.4.patch 源代码补丁(2.2)位于;CVE-2017-9798-patch-2.2.patch 注意 2.2 已到生命周期结束,没有计划使用此修复程序发布更多版本。鼓励用户迁移到 2.4.28 或更高版本以获得此修复程序和其他修复程序。

致谢:我们要感谢 Hanno Böck 报告了此问题。

已报告给安全团队2017-07-12
问题公开。2017-09-18
发布 2.4.28 更新2017-10-05
发布 2.2.35 更新 - 从未发布--
影响2.4.27, 2.4.26, 2.4.25, 2.4.23, 2.4.20, 2.4.18, 2.4.17, 2.4.16, 2.4.12, 2.4.10, 2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1, 2.2.34, 2.2.32, 2.2.31, 2.2.29, 2.2.27, 2.2.26, 2.2.25, 2.2.24, 2.2.23, 2.2.22, 2.2.21, 2.2.20, 2.2.19, 2.2.18, 2.2.17, 2.2.16, 2.2.15, 2.2.14, 2.2.13, 2.2.12, 2.2.11, 2.2.10, 2.2.9, 2.2.8, 2.2.6, 2.2.5, 2.2.4, 2.2.3, 2.2.2, 2.2.0

已在 Apache HTTP Server 2.4.27 中修复

重要mod_auth_digest 中的未初始化内存反射(CVE-2017-9788)

类型为 'Digest' 的 [Proxy-]Authorization 标头中的值占位符在 mod_auth_digest 之前或在连续的键=值分配之间未初始化或重置。提供没有 '=' 分配的初始键可能会反映先前请求使用的未初始化池内存的陈旧值,从而导致潜在机密信息的泄漏和段错误。

致谢:我们要感谢 Robert Święcki 报告了此问题。

已报告给安全团队2017-06-28
问题公开。2017-07-11
发布 2.4.27 更新2017-07-11
发布 2.2.34 更新2017-07-11
影响2.4.26, 2.4.25, 2.4.23, 2.4.20, 2.4.18, 2.4.17, 2.4.16, 2.4.12, 2.4.10, 2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1, 2.2.32, 2.2.31, 2.2.29, 2.2.27, 2.2.26, 2.2.25, 2.2.24, 2.2.23, 2.2.22, 2.2.21, 2.2.20, 2.2.19, 2.2.18, 2.2.17, 2.2.16, 2.2.15, 2.2.14, 2.2.13, 2.2.12, 2.2.11, 2.2.10, 2.2.9, 2.2.8, 2.2.6, 2.2.5, 2.2.4, 2.2.3, 2.2.2, 2.2.0

重要mod_http2 中的释放后读取(CVE-2017-9789)

在压力下关闭许多连接时,HTTP/2 处理代码有时会在内存被释放后访问它,导致潜在的行为不稳定。

致谢:我们要感谢 Robert Święcki 报告了此问题。

已报告给安全团队2017-06-30
问题公开。2017-07-11
发布 2.4.27 更新2017-07-11
影响2.4.26

已在 Apache HTTP Server 2.4.26 中修复

重要ap_get_basic_auth_pw() 身份验证绕过(CVE-2017-3167)

第三方模块在身份验证阶段之外使用 ap_get_basic_auth_pw() 可能会导致绕过身份验证要求。第三方模块编写者应该使用 ap_get_basic_auth_components(),该函数在 2.2.34 和 2.4.26 中可用,而不是 ap_get_basic_auth_pw()。在身份验证阶段调用旧版 ap_get_basic_auth_pw() 的模块必须在调用后立即验证用户,或者立即停止请求并返回错误响应,以避免错误地验证当前请求。

致谢:感谢 Emmanuel Dreyfus 报告此问题。

已报告给安全团队2017-02-06
问题公开。2017-06-19
更新 2.4.26 发布2017-06-19
发布 2.2.34 更新2017-07-11
影响2.4.25, 2.4.23, 2.4.20, 2.4.18, 2.4.17, 2.4.16, 2.4.12, 2.4.10, 2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1, 2.2.32, 2.2.31, 2.2.29, 2.2.27, 2.2.26, 2.2.25, 2.2.24, 2.2.23, 2.2.22, 2.2.21, 2.2.20, 2.2.19, 2.2.18, 2.2.17, 2.2.16, 2.2.15, 2.2.14, 2.2.13, 2.2.12, 2.2.11, 2.2.10, 2.2.9, 2.2.8, 2.2.6, 2.2.5, 2.2.4, 2.2.3, 2.2.2, 2.2.0

重要mod_ssl 空指针解引用(CVE-2017-3169)

当第三方模块在 HTTP 请求到 HTTPS 端口期间调用 ap_hook_process_connection() 时,mod_ssl 可能会解引用空指针。

致谢:感谢 Vasileios Panopoulos 和 AdNovum Informatik AG 报告此问题。

已报告给安全团队2016-12-05
问题公开。2017-06-19
更新 2.4.26 发布2017-06-19
发布 2.2.34 更新2017-07-11
影响2.4.25, 2.4.23, 2.4.20, 2.4.18, 2.4.17, 2.4.16, 2.4.12, 2.4.10, 2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1, 2.2.32, 2.2.31, 2.2.29, 2.2.27, 2.2.26, 2.2.25, 2.2.24, 2.2.23, 2.2.22, 2.2.21, 2.2.20, 2.2.19, 2.2.18, 2.2.17, 2.2.16, 2.2.15, 2.2.14, 2.2.13, 2.2.12, 2.2.11, 2.2.10, 2.2.9, 2.2.8, 2.2.6, 2.2.5, 2.2.4, 2.2.3, 2.2.2, 2.2.0

重要mod_http2 空指针解引用(CVE-2017-7659)

恶意构造的 HTTP/2 请求可能会导致 mod_http2 解引用空指针并使服务器进程崩溃。

致谢:我们要感谢 Robert Święcki 报告了此问题。

已报告给安全团队2016-11-18
问题公开。2017-06-19
更新 2.4.26 发布2017-06-19
影响2.4.25

重要ap_find_token() 缓冲区溢出(CVE-2017-7668)

在 2.2.32 和 2.4.24 中添加的 HTTP 严格解析更改在令牌列表解析中引入了错误,这允许 ap_find_token() 搜索其输入字符串的末尾。通过恶意地制作一系列请求头,攻击者可能能够导致段错误,或强制 ap_find_token() 返回错误的值。

致谢:感谢 Javier Jiménez ([email protected]) 报告此问题。

已报告给安全团队2017-05-06
问题公开。2017-06-19
更新 2.4.26 发布2017-06-19
发布 2.2.34 更新2017-07-11
影响2.4.25, 2.2.32

重要mod_mime 缓冲区溢出(CVE-2017-7679)

当发送恶意的 Content-Type 响应头时,mod_mime 可能会读取缓冲区的末尾之外的一个字节。

致谢:感谢 ChenQin 和 Hanno Böck 报告此问题。

已报告给安全团队2015-11-15
问题公开。2017-06-19
更新 2.4.26 发布2017-06-19
发布 2.2.34 更新2017-07-11
影响2.4.25, 2.4.23, 2.4.20, 2.4.18, 2.4.17, 2.4.16, 2.4.12, 2.4.10, 2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1, 2.2.32, 2.2.31, 2.2.29, 2.2.27, 2.2.26, 2.2.25, 2.2.24, 2.2.23, 2.2.22, 2.2.21, 2.2.20, 2.2.19, 2.2.18, 2.2.17, 2.2.16, 2.2.15, 2.2.14, 2.2.13, 2.2.12, 2.2.11, 2.2.10, 2.2.9, 2.2.8, 2.2.6, 2.2.5, 2.2.4, 2.2.3, 2.2.2, 2.2.0

在 Apache HTTP Server 2.4.25 中修复

Apache mod_session_crypto 中的填充预言攻击(CVE-2016-0736)

在 Apache HTTP 版本 2.4.25 之前,mod_sessioncrypto 使用配置的密码加密其数据/cookie,这些密码可能使用 CBC 或 ECB 操作模式(默认情况下为 AES256-CBC),因此没有可选择或内置的经过身份验证的加密。这使其容易受到填充预言攻击,特别是使用 CBC。现在添加了一个身份验证标签(SipHash MAC)以防止此类攻击。

致谢:感谢 RedTeam Pentesting GmbH 的个人报告此问题。

已报告给安全团队2016-01-20
问题公开。2016-12-20
更新 2.4.25 发布2016-12-20
影响2.4.23, 2.4.20, 2.4.18, 2.4.17, 2.4.16, 2.4.12, 2.4.10, 2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1

mod_auth_digest 中的 DoS 漏洞(CVE-2016-2161)

对 mod_auth_digest 的恶意输入将导致服务器崩溃,并且每个实例即使对于后续的有效请求也会继续崩溃。

致谢:感谢 Maksim Malyutin 报告此问题。

已报告给安全团队2016-07-11
问题公开。2016-12-20
更新 2.4.25 发布2016-12-20
影响2.4.23, 2.4.20, 2.4.18, 2.4.17, 2.4.16, 2.4.12, 2.4.10, 2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1

中等mod_userdir CRLF 注入(CVE-2016-4975)

对于使用 mod_userdir 的网站,可能的 CRLF 注入允许 HTTP 响应拆分攻击。此问题通过在 2.4.25 和 2.2.32 中进行的更改得到缓解,这些更改禁止将 CR 或 LF 注入到“Location”或其他出站标头键或值中。

致谢:此问题由 Sergey Bobrov 发现

已报告给安全团队2016-07-24
问题公开。2018-08-14
更新 2.4.25 发布2016-12-20
更新 2.2.32 发布2017-01-13
影响2.4.23, 2.4.20, 2.4.18, 2.4.17, 2.4.16, 2.4.12, 2.4.10, 2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1, 2.2.31, 2.2.29, 2.2.27, 2.2.26, 2.2.25, 2.2.24, 2.2.23, 2.2.22, 2.2.21, 2.2.20, 2.2.19, 2.2.18, 2.2.17, 2.2.16, 2.2.15, 2.2.14, 2.2.13, 2.2.12, 2.2.11, 2.2.10, 2.2.9, 2.2.8, 2.2.6, 2.2.5, 2.2.4, 2.2.3, 2.2.2, 2.2.0

n/aHTTP_PROXY 环境变量“httpoxy”缓解(CVE-2016-5387)

HTTP_PROXY 是 CGI 进程中定义明确的环境变量,它与许多库发生冲突,这些库未能避免与该 CGI 命名空间发生冲突。httpd CGI 环境提供了一种缓解措施,以避免从“Proxy:”标头填充“HTTP_PROXY”变量,该变量从未由 IANA 注册。此解决方法和补丁在 ASF Advisory 中记录为 asf-httpoxy-response.txt,并已纳入 2.4.25 和 2.2.32 版本。注意:这没有分配 httpd 严重性,因为它是在其他软件中重载了已建立的 CGI 环境变量的缺陷,并不反映 HTTP 服务器软件中的错误。

致谢:感谢 Vend 的 Dominic Scheirlinck 和 Scott Geary 报告并提出此问题的修复方案。

已报告给安全团队2016-07-02
问题公开。2016-07-18
更新 2.4.25 发布2016-12-20
更新 2.2.32 发布2016-07-18
影响2.4.23, 2.4.20, 2.4.18, 2.4.17, 2.4.16, 2.4.12, 2.4.10, 2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1, 2.2.31, 2.2.29, 2.2.27, 2.2.26, 2.2.25, 2.2.24, 2.2.23, 2.2.22, 2.2.21, 2.2.20, 2.2.19, 2.2.18, 2.2.17, 2.2.16, 2.2.15, 2.2.14, 2.2.13, 2.2.12, 2.2.11, 2.2.10, 2.2.9, 2.2.8, 2.2.6, 2.2.5, 2.2.4, 2.2.3, 2.2.2, 2.2.0

HTTP/2 CONTINUATION 拒绝服务(CVE-2016-8740)

HTTP/2 协议实现 (mod_http2) 对 LimitRequestFields 指令的处理不完整。这允许攻击者将无限的请求头注入服务器,最终导致内存耗尽。

致谢:感谢亚利桑那州立大学的 Naveen Tiwari 和 CDF/SEFCOM 报告此问题。

已报告给安全团队2016-11-22
问题公开。2016-12-04
更新 2.4.25 发布2016-12-20
影响2.4.23, 2.4.20, 2.4.18, 2.4.17

重要Apache HTTP 请求解析空白缺陷(CVE-2016-8743)

在 2.4.25(和 2.2.32)版本之前,Apache HTTP Server 接受来自用户代理的各种非正常空白模式,包括在解析请求行和请求头行时使用裸 CR、FF、VTAB,以及在解析请求行时使用 HTAB。请求行中存在的任何裸 CR 都被视为空白,并保留在请求字段成员“the_request”中,而请求头字段名称中的裸 CR 将被视为空白,并且请求头字段值中的裸 CR 将保留在输入头数组中。在请求行和任何请求头行的“:”分隔符之前,接受隐含的额外空白。

RFC7230 第 3.5 节提到了其中一些空白异常,第 3.2.3 节消除了并澄清了隐含空白在该规范语法中的作用。第 3.1.1 节要求在方法和请求目标之间以及请求目标和 HTTP 版本之间只有一个 SP,紧随其后是 CRLF 序列。这些字段都不允许任何(未编码的)CTL 字符。第 3.2.4 节明确禁止请求头字段在“:”字符之前的任何空白,而第 3.2 节禁止请求头行中的所有 CTL 字符,除了 HTAB 字符作为空白。

当 httpd 参与任何代理链或与后端应用程序服务器交互时,这些缺陷会构成安全问题,无论是通过 mod_proxy 还是使用传统的 CGI 机制。在每个代理接受此类 CTL 字符而不将其视为空白的情况下,在代理链中都有可能从不谨慎的代理后面的服务器生成两个响应。在一系列两个请求中,这会导致请求 A 到第一个代理被后端服务器解释为请求 A + A',如果请求 A 和 B 被提交到第一个代理的保持活动连接中,代理可能会将响应 A' 解释为对请求 B 的响应,污染缓存或可能将 A' 内容提供给不同的下游用户代理。

这些缺陷通过 Apache HTTP Server 2.4.25 的发布得到解决,并由一个新的指令协调;HttpProtocolOptions Strict 是 2.4.25 及更高版本的默认行为。

通过从“Strict”行为切换到“Unsafe”行为,可以放宽一些限制,以允许一些无效的 HTTP/1.1 客户端与服务器通信,但这将重新引入本评估中描述的问题的可能性。请注意,将行为放宽到“Unsafe”仍然不允许原始 CTL(除了允许的 HTAB),但将允许不执行其他 RFC 要求,例如请求行中的两个 SP 字符。

致谢:感谢 IBM Security 的 X-Force 研究人员的 David Dennerline 以及 Régis Leroy 报告此问题。

已报告给安全团队2016-02-10
问题公开。2016-12-20
更新 2.4.25 发布2016-12-20
更新 2.2.32 发布2017-01-13
影响2.4.23, 2.4.20, 2.4.18, 2.4.17, 2.4.16, 2.4.12, 2.4.10, 2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1, 2.2.31, 2.2.29, 2.2.27, 2.2.26, 2.2.25, 2.2.24, 2.2.23, 2.2.22, 2.2.21, 2.2.20, 2.2.19, 2.2.18, 2.2.17, 2.2.16, 2.2.15, 2.2.14, 2.2.13, 2.2.12, 2.2.11, 2.2.10, 2.2.9, 2.2.8, 2.2.6, 2.2.5, 2.2.4, 2.2.3, 2.2.2, 2.2.0

使用 mod_remoteip 和 mod_rewrite 代理时的 IP 地址欺骗(CVE-2020-11985)

对于使用 mod_remoteip 和某些 mod_rewrite 规则进行代理的配置,攻击者可以欺骗其 IP 地址以进行日志记录和 PHP 脚本。请注意,此问题已在 Apache HTTP Server 2.4.24 中修复,但在 2020 年被追溯分配了低严重性 CVE。

致谢

已报告给安全团队2016-10-13
问题公开。2020-08-07
更新 2.4.25 发布2020-08-07
影响2.4.23, 2.4.20, 2.4.18, 2.4.17, 2.4.16, 2.4.12, 2.4.10, 2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1

在 Apache HTTP Server 2.4.23 中修复

重要使用 HTTP/2 时 TLS/SSL X.509 客户端证书身份验证绕过(CVE-2016-4979)

对于启用 HTTP/2 支持的配置,如果配置了 SSL 客户端证书验证,则不会强制执行,允许未经授权的客户端通过 HTTP/2 访问受保护的资源。此问题仅影响 2.4.18 和 2.4.20 版本。

致谢:此问题由 Erki Aring 报告。

已报告给安全团队2016-06-30
问题公开。2016-07-05
更新 2.4.23 发布2016-07-05
影响2.4.20, 2.4.18

在 Apache HTTP Server 2.4.20 中修复

mod_http2:通过线程饥饿导致拒绝服务(CVE-2016-1546)

通过操纵流上的流量控制窗口,客户端能够长时间阻塞服务器线程,导致工作线程饥饿。连接仍然可以打开,但这些连接没有处理任何流。此问题影响了 2.4.17 和 2.4.18 中的 HTTP/2 支持。

致谢:此问题由 Noam Mazor 报告。

已报告给安全团队2016-02-02
问题公开。2016-04-11
更新 2.4.20 发布2016-04-11
影响2.4.18, 2.4.17

在 Apache HTTP Server 2.4.16 中修复

mod_lua:WebSockets PING 处理中的崩溃(CVE-2015-0228)

在 mod_lua 模块中发现了一个堆栈递归崩溃。如果恶意客户端发送精心制作的 PING 请求,则执行 r:wsupgrade() 函数的 Lua 脚本可能会使进程崩溃。此问题影响了 2.4.7 到 2.4.12(含)版本。

致谢:此问题由 Guido Vranken 报告。

已报告给安全团队2015-01-28
问题公开。2015-02-04
更新 2.4.16 发布2015-07-15
影响2.4.12, 2.4.10, 2.4.9, 2.4.7

ErrorDocument 400 处理中的崩溃(CVE-2015-0253)

在 ErrorDocument 处理中发现了一个崩溃。如果 ErrorDocument 400 配置为指向包含 INCLUDES 过滤器处于活动状态的本地 URL 路径,则在处理错误时会发生空指针解引用,导致子进程崩溃。此问题仅影响 2.4.12 版本。

已报告给安全团队2015-02-03
问题公开。2015-03-05
更新 2.4.16 发布2015-07-15
影响2.4.12

针对分块请求解析器的 HTTP 请求走私攻击(CVE-2015-3183)

由于解析分块请求的错误,可能发生 HTTP 请求走私攻击。恶意客户端可以强制服务器错误地解释请求长度,如果使用中间代理,则允许缓存中毒或凭据劫持。

致谢:此问题由 Régis Leroy 报告。

已报告给安全团队2015-04-04
问题公开。2015-06-09
更新 2.4.16 发布2015-07-15
更新 2.2.31 发布2015-07-16
影响2.4.12, 2.4.10, 2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1, 2.2.29, 2.2.27, 2.2.26, 2.2.25, 2.2.24, 2.2.23, 2.2.22, 2.2.21, 2.2.20, 2.2.19, 2.2.18, 2.2.17, 2.2.16, 2.2.15, 2.2.14, 2.2.13, 2.2.12, 2.2.11, 2.2.10, 2.2.9, 2.2.8, 2.2.6, 2.2.5, 2.2.4, 2.2.3, 2.2.2, 2.2.0

ap_some_auth_required API 不可使用(CVE-2015-3185)

“ap_some_auth_required”函数中的设计错误导致该 API 在 httpd 2.4.x 中不可使用。特别是,该 API 文档说明了是否需要请求身份验证,但仅回答了在适用的配置中是否存在 Require 行。由于 2.4.x Require 行也用于授权,并且即使在不需要身份验证且请求完全不受限制的情况下,也可能出现在配置中。这可能导致使用此 API 的模块允许访问,而它们原本不应该这样做。API 用户应该使用在 2.4.16 中添加的新的 ap_some_authn_required API。

致谢:此问题由 Ben Reser 报告。

已报告给安全团队2013-08-05
问题公开。2015-06-09
更新 2.4.16 发布2015-07-15
影响2.4.12, 2.4.10, 2.4.9, 2.4.7, 2.4.6, 2.4.5, 2.4.4, 2.4.3, 2.4.2, 2.4.1, 2.4.0

在 Apache HTTP Server 2.4.12 中修复

HTTP 尾部处理绕过(CVE-2013-5704)

HTTP 尾部可用于在请求处理的后期阶段替换 HTTP 标头,这可能会撤消或混淆之前检查或修改请求标头的模块。此修复添加了“MergeTrailers”指令以恢复旧版行为。

致谢:此问题由 Martin Holst Swende 报告。

已报告给安全团队2013-09-06
问题公开。2013-10-19
更新 2.4.12 发布2015-01-30
更新 2.2.29 发布2014-09-03
影响2.4.10, 2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1, 2.2.27, 2.2.26, 2.2.25, 2.2.24, 2.2.23, 2.2.22, 2.2.21, 2.2.20, 2.2.19, 2.2.18, 2.2.17, 2.2.16, 2.2.15, 2.2.14, 2.2.13, 2.2.12, 2.2.11, 2.2.10, 2.2.9, 2.2.8, 2.2.6, 2.2.5, 2.2.4, 2.2.3, 2.2.2, 2.2.0

mod_cache 在 Content-Type 标头为空时崩溃(CVE-2014-3581)

在 mod_cache 中发现了一个空指针解引用漏洞。恶意 HTTP 服务器可能导致缓存转发代理配置中的崩溃。如果使用线程化的 MPM,此崩溃只会导致拒绝服务。

已报告给安全团队2014-09-08
问题公开。2014-09-08
更新 2.4.12 发布2015-01-30
影响2.4.10, 2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1

mod_proxy_fcgi 越界内存读取(CVE-2014-3583)

在 mod_proxy_fcgi 中发现了一个越界内存读取漏洞。恶意 FastCGI 服务器可以发送精心构造的响应,这可能导致在读取堆内存或堆栈缓冲区末尾时发生崩溃。此问题仅影响 2.4.10 版本。

致谢:此问题由 Teguh P. Alko 报告。

已报告给安全团队2014-09-17
问题公开。2014-11-12
更新 2.4.12 发布2015-01-30
影响2.4.10

mod_lua 多个“Require”指令处理存在问题(CVE-2014-8109)

修复了在 mod_lau 中使用 LuaAuthzProvider 时,在多个 Require 指令中使用不同参数处理 Require 行的问题。这可能导致与预期不同的身份验证规则。

已报告给安全团队2014-11-09
问题公开。2014-11-09
更新 2.4.12 发布2015-01-30
影响2.4.10, 2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1

已在 Apache HTTP Server 2.4.10 中修复

中等mod_proxy 拒绝服务(CVE-2014-0117)

在 httpd 版本 2.4.6 到 2.4.9 的 mod_proxy 中发现了一个漏洞。远程攻击者可以向配置为反向代理的服务器发送精心构造的请求,并导致子进程崩溃。这可能导致针对线程化 MPM 的拒绝服务。

致谢:此问题由 Marek Kroemeke、AKAT-1 和 22733db72ab3ed94b5f8a1ffcde850251fe6f466 通过 HP ZDI 报告。

已报告给安全团队2014-04-07
问题公开。2014-07-15
发布 2.4.10 更新2014-07-15
影响2.4.9, 2.4.7, 2.4.6

中等mod_deflate 拒绝服务(CVE-2014-0118)

在 mod_deflate 中发现了一个资源消耗漏洞。如果配置了请求主体解压缩(使用“DEFLATE”输入过滤器),远程攻击者可能会导致服务器消耗大量的内存和/或 CPU 资源。使用请求主体解压缩不是常见的配置。

致谢:此问题由 Giancarlo Pellegrino 和 Davide Balzarotti 报告。

已报告给安全团队2014-02-19
问题公开。2014-07-14
发布 2.4.10 更新2014-07-15
更新 2.2.29 发布2014-09-03
影响2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1, 2.2.27, 2.2.26, 2.2.25, 2.2.24, 2.2.23, 2.2.22, 2.2.21, 2.2.20, 2.2.19, 2.2.18, 2.2.17, 2.2.16, 2.2.15, 2.2.14, 2.2.13, 2.2.12, 2.2.11, 2.2.10, 2.2.9, 2.2.8, 2.2.6, 2.2.5, 2.2.4, 2.2.3, 2.2.2, 2.2.0

中等mod_status 缓冲区溢出(CVE-2014-0226)

在 mod_status 中发现了一个竞争条件。能够访问使用线程化 MPM 的服务器上的公共服务器状态页面的攻击者可以发送精心构造的请求,这可能导致堆缓冲区溢出。请注意,拥有一个公开可访问的服务器状态页面不是默认配置,也不推荐这样做。

致谢:此问题由 Marek Kroemeke、AKAT-1 和 22733db72ab3ed94b5f8a1ffcde850251fe6f466 通过 HP ZDI 报告。

已报告给安全团队2014-05-30
问题公开。2014-07-14
发布 2.4.10 更新2014-07-15
更新 2.2.29 发布2014-09-03
影响2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1, 2.2.27, 2.2.26, 2.2.25, 2.2.24, 2.2.23, 2.2.22, 2.2.21, 2.2.20, 2.2.19, 2.2.18, 2.2.17, 2.2.16, 2.2.15, 2.2.14, 2.2.13, 2.2.12, 2.2.11, 2.2.10, 2.2.9, 2.2.8, 2.2.6, 2.2.5, 2.2.4, 2.2.3, 2.2.2, 2.2.0

重要mod_cgid 拒绝服务(CVE-2014-0231)

在 mod_cgid 中发现了一个漏洞。如果使用 mod_cgid 的服务器托管了不消耗标准输入的 CGI 脚本,远程攻击者可能会导致子进程无限期挂起,从而导致拒绝服务。

致谢:此问题由 ASF 的 Rainer Jung 报告。

已报告给安全团队2014-06-16
问题公开。2014-07-14
发布 2.4.10 更新2014-07-15
更新 2.2.29 发布2014-09-03
影响2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1, 2.2.27, 2.2.26, 2.2.25, 2.2.24, 2.2.23, 2.2.22, 2.2.21, 2.2.20, 2.2.19, 2.2.18, 2.2.17, 2.2.16, 2.2.15, 2.2.14, 2.2.13, 2.2.12, 2.2.11, 2.2.10, 2.2.9, 2.2.8, 2.2.6, 2.2.5, 2.2.4, 2.2.3, 2.2.2, 2.2.0

重要WinNT MPM 拒绝服务(CVE-2014-3523)

在 httpd 版本 2.4.1 到 2.4.9 的 WinNT MPM 中发现了一个漏洞,当使用该平台的默认 AcceptFilter 时。远程攻击者可以发送精心构造的请求,这些请求会泄漏内存,并最终导致对服务器的拒绝服务。

致谢:此问题由 ASF 的 Jeff Trawick 报告。

已报告给安全团队2014-07-01
问题公开。2014-07-15
发布 2.4.10 更新2014-07-15
影响2.4.9, 2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1

已在 Apache HTTP Server 2.4.9 中修复

中等mod_dav 崩溃(CVE-2013-6438)

mod_dav 中的 XML 解析代码在删除前导空格时错误地计算了字符串的结尾,并在缓冲区之外放置了一个 NUL 字符,导致随机崩溃。此 XML 解析代码仅与支持 DeltaV 的 DAV 提供程序模块一起使用,其中唯一公开发布的提供程序是 mod_dav_svn。

致谢:此问题由 Neustar 的 Ning Zhang 和 Amin Tora 报告。

已报告给安全团队2013-12-10
问题公开。2014-03-17
发布 2.4.9 更新2014-03-17
发布 2.2.27 更新2014-03-26
影响2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1, 2.2.26, 2.2.25, 2.2.24, 2.2.23, 2.2.22, 2.2.21, 2.2.20, 2.2.19, 2.2.18, 2.2.17, 2.2.16, 2.2.15, 2.2.14, 2.2.13, 2.2.12, 2.2.11, 2.2.10, 2.2.9, 2.2.8, 2.2.6, 2.2.5, 2.2.4, 2.2.3, 2.2.2, 2.2.0

mod_log_config 崩溃(CVE-2014-0098)

在 mod_log_config 中发现了一个漏洞。远程攻击者可以发送特定的截断 cookie,导致崩溃。如果使用线程化的 MPM,此崩溃只会导致拒绝服务。

致谢:此问题由 Rainer M Canavan 报告。

已报告给安全团队2014-02-25
问题公开。2014-03-17
发布 2.4.9 更新2014-03-17
发布 2.2.27 更新2014-03-26
影响2.4.7, 2.4.6, 2.4.4, 2.4.3, 2.4.2, 2.4.1, 2.2.26, 2.2.25, 2.2.24, 2.2.23, 2.2.22, 2.2.21, 2.2.20, 2.2.19, 2.2.18, 2.2.17, 2.2.16, 2.2.15, 2.2.14, 2.2.13, 2.2.12, 2.2.11, 2.2.10, 2.2.9, 2.2.8, 2.2.6, 2.2.5, 2.2.4, 2.2.3, 2.2.2, 2.2.0

已在 Apache HTTP Server 2.4.7 中修复

mod_cache 崩溃(CVE-2013-4352)

在 mod_cache 中发现了一个空指针解引用漏洞。恶意 HTTP 服务器可能导致缓存转发代理配置中的崩溃。(请注意,此漏洞已在 2.4.7 版本中修复,但当时未公开安全影响。)

已报告给安全团队2013-09-14
问题公开。2014-07-14
发布 2.4.7 更新2013-11-26
影响2.4.6

已在 Apache HTTP Server 2.4.6 中修复

中等mod_dav 崩溃(CVE-2013-1896)

对由 mod_dav_svn 处理的 URI 发送 MERGE 请求,其中源 href(作为请求主体的一部分以 XML 格式发送)指向未配置为 DAV 的 URI,将触发段错误。

致谢:此问题由 Ben Reser 报告。

已报告给安全团队2013-03-07
问题公开。2013-05-23
发布 2.4.6 更新2013-07-22
发布 2.2.25 更新2013-07-22
影响2.4.4, 2.4.3, 2.4.2, 2.4.1, 2.2.23, 2.2.22, 2.2.21, 2.2.20, 2.2.19, 2.2.18, 2.2.17, 2.2.16, 2.2.15, 2.2.14, 2.2.13, 2.2.12, 2.2.11, 2.2.10, 2.2.9, 2.2.8, 2.2.6, 2.2.5, 2.2.4, 2.2.3, 2.2.2, 2.2.0

中等mod_session_dbd 会话固定漏洞(CVE-2013-2249)

mod_session_dbd 中的一个漏洞导致它在执行会话的保存操作时,没有考虑脏标志和对新会话 ID 的要求。

致谢:此问题由 Takashi Sato 报告。

已报告给安全团队2013-05-29
问题公开。2013-07-22
发布 2.4.6 更新2013-07-22
影响2.4.4, 2.4.3, 2.4.2, 2.4.1

已在 Apache HTTP Server 2.4.4 中修复

由于未转义的主机名导致的 XSS(CVE-2012-3499)

由于未转义的主机名和 URI HTML 输出导致的各种 XSS 漏洞,存在于 mod_info、mod_status、mod_imagemap、mod_ldap 和 mod_proxy_ftp 中。

致谢:此问题由 Google 的 Niels Heinen 报告。

已报告给安全团队2012-07-11
问题公开。2013-02-18
发布 2.4.4 更新2013-02-25
发布 2.2.24 更新2013-02-25
影响2.4.3, 2.4.2, 2.4.1, 2.2.23, 2.2.22, 2.2.21, 2.2.20, 2.2.19, 2.2.18, 2.2.17, 2.2.16, 2.2.15, 2.2.14, 2.2.13, 2.2.12, 2.2.11, 2.2.10, 2.2.9, 2.2.8, 2.2.6, 2.2.5, 2.2.4, 2.2.3, 2.2.2, 2.2.0

中等mod_proxy_balancer 中的 XSS(CVE-2012-4558)

一个 XSS 漏洞影响了 mod_proxy_balancer 管理界面。

致谢:此问题由 Google 的 Niels Heinen 报告。

已报告给安全团队2012-10-07
问题公开。2013-02-18
发布 2.4.4 更新2013-02-25
发布 2.2.24 更新2013-02-25
影响2.4.3, 2.4.2, 2.4.1, 2.2.23, 2.2.22, 2.2.21, 2.2.20, 2.2.19, 2.2.18, 2.2.17, 2.2.16, 2.2.15, 2.2.14, 2.2.13, 2.2.12, 2.2.11, 2.2.10, 2.2.9, 2.2.8, 2.2.6, 2.2.5, 2.2.4, 2.2.3, 2.2.2, 2.2.0

已在 Apache HTTP Server 2.4.3 中修复

当支持不受信任的上传时,mod_negotiation 中的 XSS(CVE-2012-2687)

对于使用 mod_negotiation 并允许将不受信任的上传到启用了 MultiViews 的位置的网站,可能会出现 XSS。注意:此问题也称为 CVE-2008-0455。

已报告给安全团队2012-05-31
问题公开。2012-06-13
发布 2.2.23 更新2012-09-13
发布 2.4.3 更新2012-08-21
影响2.4.2, 2.4.1, 2.2.22, 2.2.21, 2.2.20, 2.2.19, 2.2.18, 2.2.17, 2.2.16, 2.2.15, 2.2.14, 2.2.13, 2.2.12, 2.2.11, 2.2.10, 2.2.9, 2.2.8, 2.2.6, 2.2.5, 2.2.4, 2.2.3, 2.2.2, 2.2.0

重要使用 mod_proxy_ajp 或 mod_proxy_http 时,响应混淆(CVE-2012-3502)

mod_proxy_ajp 和 mod_proxy_http 模块在错误处理过程中,并不总是像必要的那样关闭与后端服务器的连接。这可能导致由于用户之间的响应混淆而导致信息泄露。

已报告给安全团队2012-08-16
问题公开。2012-08-16
发布 2.4.3 更新2012-08-21
影响2.4.2, 2.4.1

已在 Apache HTTP Server 2.4.2 中修复

不安全的 LD_LIBRARY_PATH 处理(CVE-2012-0883)

发现不安全的 LD_LIBRARY_PATH 处理,这可能导致搜索当前工作目录以查找 DSO。如果管理员从不受信任的目录运行 apachectl,这可能允许本地用户以 root 身份执行代码。

已报告给安全团队2012-02-14
问题公开。2012-03-02
发布 2.4.2 更新2012-04-17
发布 2.2.23 更新2012-09-13
影响2.4.1, 2.2.22, 2.2.21, 2.2.20, 2.2.19, 2.2.18, 2.2.17, 2.2.16, 2.2.15, 2.2.14, 2.2.13, 2.2.12, 2.2.11, 2.2.10, 2.2.9, 2.2.8, 2.2.6, 2.2.5, 2.2.4, 2.2.3, 2.2.2, 2.2.0