Apache HTTPD 安全漏洞集
2019-04-07 21:21:54 阿炯

Apache HTTPD Server是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。


CVE-2019-0211

Apache HTTP 服务器于2019年4月1日发布了最新的稳定版本 2.4.39,主要是修复安全问题。在发布更新不久后,安全研究人员 Charles Fol 便在其博客发布了关于 Apache 服务器一个本地提权漏洞的详细介绍。

开发团队在 2.4.39 中修复了 Charles Fol 发现的漏洞并表达了谢意。

Charles Fol 对 Apache 团队处理问题的效率也十分赞赏。他表示自己在2019年2月22日通过电子邮件提交了漏洞,2月25日开发团队就确认了漏洞的存在,并开始着手修复。到了3月7日,Apache 安全团队发送补丁给 Charles 审查并分配了 CVE 编号;3月10日,Charles 批准了这个补丁,最后4月1日 Apache 发布修复了漏洞的 2.4.39 版本。

据介绍,这个漏洞所影响的版本十分广泛,涉及到从 2.4.17(2015.10.9) 到 2.4.38(2019.4.1) 的所有版本。

编号为 CVE-2019-0211 的漏洞是一个本地提权漏洞,该漏洞允许拥有有限权限的用户或软件获得 Web Server 的 root 权限。如果被攻击者成功提权,他将拥有 Web Server 的完整访问权限,在服务器进出自如。受该漏洞影响最大的是提供共享实例的 Web 托管商。因为 Web 托管商的一台服务器通常会提供给多个网站使用,而此类服务器一般会阻止一个网站的管理员访问另一个网站,或访问机器的敏感设置。Charles Fol 表示过段时间会公布关于 CVE-2019-0211 的漏洞利用案例。

2021年12月23日,Apache官方发布了安全通告,修复了多个漏洞,其中包含的漏洞编号有:CVE-2021-44224CVE-2021-44790,漏洞等级为高危,漏洞评分为8.2。建议广大用户及时将Apache HTTP Server升级到最新版本。与此同时,请做好资产自查以及预防工作,以免遭受黑客攻击。

影响版本
组件     影响版本     安全版本
Apache HTTP Server     <= 2.4.51     2.4.52

CVE-2021-44224: Apache HTTP Server服务器端请求伪造漏洞
组件: Apache HTTP Server
漏洞类型: 服务器端请求伪造
影响: 服务器端请求伪造

简述: 由于Apache HTTP Server转发代理配置对于用户提供的输入验证不足,因此远程攻击者可发送恶意构造的HTTP请求,可导致空指针引用和服务端请求伪造风险,利用该漏洞访问服务端内部网络。

CVE-2021-44790: Apache HTTP Server缓冲区溢出漏洞
CVE: CVE-2021-44790
组件: Apache HTTP Server
漏洞类型: 缓冲区溢出
影响: 任意代码执行

简述: 由于在 mod_lua 多部分解析器(从 Lua 脚本调用的 r:parsebody())中出现边界错误,因此远程攻击者可发送恶意构造的HTTP请求,可导致缓冲区溢出,进而可在目标服务器上执行任意代码。但该模块默认不启用,未启用该模块的Apache HTTP Server不受该漏洞影响。

修补建议:根据影响版本中的信息,排查并升级到安全版本,下载链接

参考链接

HTTP/2 'Rapid Reset' 漏洞每秒可达数亿次的 DDoS 攻击

2023年10月发现 HTTP/2 的一个 0day 漏洞可以放大 DDoS 攻击,每秒可达数亿次。互联网巨头表示新发现的 HTTP/2 漏洞已被用来发起 DDoS 攻击,其规模远远超出了之前记录的任何一次。Cloudflare、谷歌、微软和亚马逊均表示,他们成功缓解了其中两家公司在 8 月和 9 月记录的最大 DDoS 第 7 层攻击,但没有透露这些攻击是针对谁的。这些公司表示,这些攻击之所以可能发生,是因为 HTTP/2 协议中存在一个 0day 漏洞,他们将其命名为 “HTTP/2 快速重置” (HTTP/2 'Rapid Reset')。

HTTP/2 允许通过单个连接同时向网站发出多个请求,从而加快页面加载速度。Cloudflare 写道,这些攻击显然涉及到一个自动循环,即向使用 HTTP/2 的网站发送并立即取消 “数十万个” 请求,导致服务器不堪重负并使其脱机。


谷歌记录的最严重的攻击每秒超过 3.98 亿次请求,据称这是其之前记录的任何此类攻击的七倍多。Cloudflare 在峰值时每秒处理了 2.01 亿个请求,它也称其为破纪录,而亚马逊记录的请求最少,达到了极限。每秒 1.55 亿次。微软没有透露自己的数据。

新型 HTTP/2 漏洞导致 Web 服务器遭受 DoS 攻击

2024年4月上旬消息,研究人员公布了一个新发现的与 HTTP/2 相关的漏洞,该漏洞可用于对易受攻击的目标实施拒绝服务(DoS)攻击。在 thehackernews 的报道中,安全研究员 Bartek Nowotarski 于 1 月 25 日向卡内基梅隆大学计算机应急小组(CERT)协调中心报告了这一问题。

该漏洞被称为 "HTTP/2 CONTINUATION Flood",它利用了配置不当的 HTTP/2 实现,这些实现未能限制或净化请求数据流中的 CONTINUATION 帧。这是一种用于延续报头块片段序列的方法,允许报头块在多个帧中分割。当服务器收到一个特定的 END_HEADERS 标志,表明没有其他 CONTINUATION 或其他帧时,先前分割的报头块就被视为已完成。


如果 HTTP/2 实现不限制单个数据流中可发送的 CONTINUATION 帧的数量,就很容易受到攻击。如果攻击者开始向未设置 END_HEADERS 标志的易受攻击服务器发送 HTTP 请求,该请求将允许攻击者向该服务器持续发送 CONTINUATION 帧流,最终导致服务器内存不足而崩溃,并导致成功的拒绝服务 (DoS) 攻击。

CERT 还列举了该漏洞的另一个变种,即使用 HPACK Huffman 编码的 CONTINUATION 帧造成 CPU 资源耗尽,同样导致 DoS 攻击成功。Nowotarski 指出,这意味着单台机器甚至单 TCP 连接都有可能破坏服务器的可用性,造成从服务崩溃到性能下降等各种后果。

分布式拒绝服务(DDoS)攻击会创建大规模僵尸网络,通过纯粹的流量来压垮网络,而 DoS 攻击则不同,它可以通过向传输控制协议(TCP)连接发送大量请求来耗尽目标服务器的资源,从而利用单个设备制造虚假网络流量。

与该新漏洞有关的几个常见漏洞和暴露 (CVE) 记录已经创建。这些记录包括:
CVE-2024-2653- amphp/http

CVE-2024-27316- Apache HTTP Server: HTTP/2 DoS by memory exhaustion on endless continuation frames

CVE-2024-24549- Apache Tomcat: HTTP/2 header handling DoS

CVE-2024-31309- Resource exhaustion in Apache Traffic Server

CVE-2024-27919- HTTP/2: memory exhaustion due to CONTINUATION frame flood

CVE-2024-30255- HTTP/2: CPU exhaustion due to CONTINUATION frame flood

CVE-2023-45288- HTTP/2 CONTINUATION flood in net/http

CVE-2024-28182- Reading unbounded number of HTTP/2 CONTINUATION frames to cause excessive CPU usage

CVE-2024-27983- node::http2::Http2Session::~Http2Session() leads to HTTP/2 server crash

CVE-2024-2758- Tempesta FW rate limits are not enabled by default

建议用户将受影响的软件升级到最新版本,以减轻潜在威胁。在没有修复程序的情况下,建议考虑暂时禁用服务器上的 HTTP/2。根据 w3techs.com 的一项调查,目前约有 35.5% 的网站使用 HTTP/2。