一个 CVSS 评分高达 8.8(高危) 的双重释放漏洞,潜伏在 Apache HTTP Server 的 HTTP/2 协议处理模块中。攻击者无需任何身份认证,仅需一条 TCP 连接和两个 HTTP/2 帧,就能触发 Apache 工作进程崩溃,并在特定系统环境下实现远程代码执行,完全控制服务器。该漏洞仅影响 Apache HTTP Server 2.4.66 单一版本,PoC 和技术细节已公开,全球已有超过 10 万台服务器升级至此版本,大量关键行业网站面临严重威胁。Apache 官方已于 2026 年 5 月 4 日发布 2.4.67 修复版本。对于无法立即升级的用户,百度云防护 WAF 可通过内置的 HTTP/2 异常流量检测规则和虚拟补丁能力,在网络层精准拦截攻击载荷,为业务系统争取宝贵的修复窗口期。
一、 漏洞核心信息
| 项目 | 详情 |
|---|---|
| CVE 编号 | CVE-2026-23918 |
| CNVD 编号 | CNVD-2026-21690 |
| CVSS 3.1 评分 | 8.8(高危) |
| 漏洞类型 | 双重释放(Double Free,CWE-415) |
| 攻击向量 | 网络远程利用 |
| 攻击复杂度 | 低 |
| 所需权限 | 无 |
| 用户交互 | 不需要 |
| 影响产品 | Apache HTTP Server 2.4.66 |
| 安全版本 | Apache HTTP Server 2.4.67 及以上 |
| 官方补丁时间 | 2026 年 5 月 4 日 |
| CNVD 收录时间 | 2026 年 5 月 26 日 |
该漏洞由 striga.ai 的 Bartlomiej Dmitruk 与 isec.pl 的 Stanislaw Strzalkowski 于 2025 年 12 月 10 日 报告给 Apache 安全团队,2025 年 12 月 11 日即完成源码修复,并于 2026 年 5 月 4 日 随 2.4.67 版本正式发布。
二、 漏洞原理深度解析
2.1 根本原因:HTTP/2 流清理流程中的双释放缺陷
该漏洞位于 Apache mod_http2 模块的 h2_mplx.c 流管理层,具体成因如下:
- 攻击者创建 HTTP/2 流(发送 HEADERS 帧)。
- Apache 分配内部
h2_stream对象,并开始将其注册到多路复用器。 - 注册完成前,攻击者立即发送一个带有非零错误码的 RST_STREAM 帧。
- 在此竞争条件下,
nghttp2会依次触发on_frame_recv_cb与on_stream_close_cb两个回调,两者最终都会调用同一清理函数,导致同一个h2_stream指针被两次推入清理队列。 - 当 Apache 后续销毁该流并调用
apr_pool_destroy时,第二次操作会命中已被释放的内存,触发程序崩溃,甚至可能被攻击者利用进一步控制执行流程。
2.2 为什么 2.4.66 成为“孤岛式”受影响版本?
Apache HTTP Server 2.4.66 于 2026 年 4 月 17 日 发布。该漏洞并非长期潜伏的历史缺陷,而是在 2.4.66 中对 mod_http2 模块进行性能优化时新引入的缺陷。2.4.65 及更早版本(HTTP/2 代码路径更旧)不受影响,2.4.67 及更新版本(已修复)也不受影响。然而,2.4.66 发布后仅三周内,全球已有超过 10 万台服务器完成升级,其中包含大量金融、电商、政府等关键行业的生产系统,攻击面因此骤然放大。
2.3 RCE 利用机制
研究人员已在 x86_64 架构上成功验证远程代码执行的可能性:
- 利用 mmap 内存重用机制,将伪造的
h2_stream结构放回已释放的虚拟内存地址。 - 将其 pool cleanup 函数指针指向
system()。 - 利用 Apache Scoreboard(固定地址内存段) 作为稳定容器存放命令字符串。
- 配合适当的信息泄露与 heap spray 技术,攻击者可在特定内存布局下完成 RCE。
三、 攻击门槛极低:一条 TCP 连接,两个 HTTP/2 帧
| 攻击条件 | 说明 |
|---|---|
| 网络可达 | 只需目标服务器 443/80 端口开放 HTTP/2 协议 |
| 单条 TCP 连接 | 无需复杂的多路并发 |
| 两个 HTTP/2 帧 | HEADERS + RST_STREAM,特定时序 |
| 无需认证 | 任何公网攻击者均可发起 |
| PoC 已公开 | 攻击者可获取现成的概念验证代码 |
研究人员指出,在默认部署环境下(启用 mod_http2 且采用多线程 MPM),仅需一个 TCP 连接和两个 HTTP/2 帧就能使工作进程崩溃,实现拒绝服务。
使用 MPM prefork 的部署不受影响。但 mod_http2 在现代 Web 部署中广泛默认启用,HTTP/2 在生产环境中已是标配,整体攻击面仍然巨大。企业应首先确认自己的 Apache 版本和 MPM 类型,以准确评估风险。
四、 漏洞危害评估
| 危害类型 | 具体后果 |
|---|---|
| 远程拒绝服务(DoS) | 直接导致 Apache 工作进程崩溃,正常请求无法处理,网站完全不可用 |
| 远程代码执行(RCE) | 在 Debian 系系统及官方 Docker 镜像等特定环境下,可反弹 Shell、植入后门、窃取数据 |
| 服务器完全沦陷 | 攻击者获得系统控制权限后,可横向渗透内网,形成持久化后门 |
| 业务中断 | 一次攻击即可使生产环境 Web 服务瘫痪数小时 |
对于金融交易、电商支付、政务服务平台等关键业务,一次 DoS 触发就可能造成无法估量的经济损失和用户信任流失。实际攻击中,攻击者可在自动化脚本中循环发送恶意帧,反复杀死工作进程,导致服务持续不可用。
五、 企业应急响应与修复方案
5.1 立即升级(最高优先级)
Apache 官方已在 2.4.67 版本中彻底修复该漏洞,同时一并修复了另外 10 个安全缺陷,其中包括可导致信息泄露、本地提权、堆缓冲区溢出和空指针解引用等问题(CVE-2026-24072、CVE-2026-28780 等)。升级是唯一完整的修复方案。
升级路径:
- 下载 Apache HTTP Server 2.4.67(官方下载)。
- 编译安装,或使用对应 Linux 发行版已回传的补丁包(Debian、Ubuntu、CentOS、AlmaLinux 等均已跟进)。
- 重启 Apache 服务,验证 HTTP/2 功能正常。
5.2 临时缓解措施(无法立即升级时)
| 措施 | 操作 | 副作用 |
|---|---|---|
| 禁用 HTTP/2 协议 | 在 Apache 配置中移除或注释 Protocols h2 http/1.1,仅保留 HTTP/1.1 | 网站性能(多路复用)下降 |
| 限制网络访问来源 | 在防火墙中仅允许可信 IP 访问 443 端口 | 影响正常全球用户访问 |
| 启用 WAF 虚拟补丁 | 部署百度云防护 WAF,在网络层拦截攻击流量 | 无业务影响,为修复争取时间 |
5.3 部署百度云防护 WAF(虚拟补丁方案)
在无法立即升级代码的环境中,最务实的选择是在网络层部署专业的 Web 应用防火墙,将攻击流量拦截在 Apache 服务器之外。
百度云防护 WAF 具备以下防御能力:
- HTTP/2 异常帧检测:WAF 可分析 HTTP/2 帧序列行为,识别 HEADERS + RST_STREAM 的异常时序模式,在到达 Apache 服务器之前直接阻断恶意请求。
- 协议层虚拟补丁:即使 Apache 自身存在代码缺陷,WAF 可以在协议层对畸形帧组合进行过滤,等效于“软件补丁”。
- JA4 指纹识别:攻击者的扫描工具和利用脚本具有固定 TLS 指纹,WAF 可一键封杀工具指纹,让自动化攻击失效。
- IP 情报库:自动识别并封堵来自代理 IP、云服务 IP、已知恶意 IP 的攻击源,从源头减少扫描量。
- 套餐计费,用完即停:专业版套餐即可获得上述核心防御能力,被攻击不会产生天价后付费账单。
六、 站长/运维人员行动指南
| 优先级 | 措施 | 说明 |
|---|---|---|
| 紧急 | 确认 Apache 版本 | 执行 httpd -v 查看版本号。如为 2.4.66,立即处置。 |
| 高 | 升级至 2.4.67 | 从根源彻底修复漏洞。 |
| 高 | 部署百度云防护 WAF | 即时获得虚拟补丁,阻断攻击流量,无需修改代码。 |
| 中 | 检查 MPM 类型 | 如正在使用 MPM prefork,不受该漏洞影响。 |
| 中 | 禁用 HTTP/2(临时代替) | 在 Apache 配置中注释 Protocols h2 http/1.1,添加 Protocols http/1.1。 |
如果你不确定自己的 Apache 服务器是否受此漏洞影响,或希望为网站部署 WAF 实现纵深防御,欢迎联系 主机吧。我们提供免费安全评估和百度云防护接入指导,帮助企业在补丁空窗期守住防线。
主机吧 | 百度云防护官方合作伙伴
提供 WAF 接入、高防 CDN、高防 IP、高防服务器、SSL 证书一站式服务
让每一次 HTTP/2 攻击都无处遁形,让每一台 Web 服务器都固若金汤。



