返回资讯中心
外部精选
软件工程
#开发者实时流

Apache 披露并修复 HTTP/2 未授权 RCE 漏洞,由 Anthropic 扫描器发现

来源标题:One Condition Away: Apache's HTTP/2 RCE on the Day It Dropped

Apache 软件基金会于 2026 年 11 月 11 日披露并修复了 CVE-2026-119618,这是 mod_http2 中的一个未授权远程代码执行漏洞,影响启用了 HTTP/2 的 Apache httpd 2.4.55 至 2.4.70,2.4.71 已修复。该漏洞由 Anthropic 的开源安全扫描器发现,Google Cloud 研究人员对分析进行了佐证。

Hacker News 最新SecurityNinjaGu2026/11/13 · 今天19 分钟阅读

以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。

所有数据均为汇总并匿名化处理,来自Fortirix自身的外部监控数据。数据编译于2026年11月12日,即披露后的第二天——尚未经历任何有意义的补丁周期。方法论见文末。

2026年11月11日,Apache软件基金会披露了CVE-2026-119618,并在同一时间发布了修复补丁。该漏洞是mod_http2中一个无需认证的远程代码执行漏洞——mod_http2正是为Apache HTTP Server提供HTTP/2支持的模块——影响启用了HTTP/2的Apache httpd 2.4.55至2.4.70版本,已在2.4.71中修复。该漏洞并非由人工模糊测试发现,而是由Anthropic的开源安全扫描器发现,分析结果得到了Google Cloud研究人员的 corroboration——这是一个小小的信号,预示着漏洞发现的方向正在改变。

在给出任何数字之前,有三件事需要直说:

两周前我们发布了一份关于PHP2Shell暴露面的分析。本文是它的姊妹篇——但在一个重要的方面,两者恰好相反。

HTTP/2是一种并发协议。单个连接同时多路复用多个流,服务器在组装每个流的请求——包括其头部集合——的同时,同一连接上的其他流仍在被处理。CVE-2026-119618是mod_http2中头部组装路径上的一个竞态条件(CWE-362:使用共享资源的并发执行,同步不当)。在并发流的特定交错顺序下,共享状态会在操作进行中被意外篡改,导致堆损坏。

堆损坏这类原语,在Apache这样成熟的服务器中,往往会演变为完整的利用:能够操控内存分配的攻擊者可以将“内存被打乱”转化为“攻击者控制的代码被执行”——而在这里,无需认证,因为漏洞在请求解析阶段就会触发,早于任何应用逻辑。这是Web服务器漏洞最糟糕的形态。

与此并列,有两个诚实的限定条件。第一,竞态条件往往是概率性的——可能需要多次尝试和有利的时机才能可靠触发,这也是目前尚无公开可利用代码的部分原因。第二,内存损坏类漏洞往往会随时间推移变得更加易于武器化,而非相反,因为研究人员会不断精进技术。“今天没有PoC”只是关于今天的陈述。

PHP2Shell是罕见的无条件 critical 漏洞:缺陷存在于PHP的核心请求处理中,因此每一个处理Web流量的PHP安装都在影响范围内,无论配置如何。我们当时说过,这正是为什么版本匹配异常接近真实暴露面——没有任何隐藏条件需要解释。

CVE-2026-119618则恰恰相反。存在漏洞的代码位于mod_http2中,只有当服务器实际使用HTTP/2通信时才能触达。在Apache httpd中,HTTP/2并非默认开启——管理员必须加载该模块并通过Protocols h2(或h2c)指令主动启用。一台运行Apache 2.4.66、仅提供纯HTTP/1.1服务的主机,磁盘上携带着存在漏洞的字节,但没有将这些字节中的任何一个暴露到网络上。

所以我们要把那句不便明说的话放在前面:本文中所有基于版本的数字都是暴露面的上界,而非估计值。当我们发布PHP2Shell时,我们刻意将一个有条件触发的PHP CVE从Critical降级,因为其触发条件无法从外部验证。同样的校准标准适用于此处——在零日,面对一个更响亮的标题。

以下是让这个上界不被轻视的细微之处。HTTP/2在默认构建中可能是关闭的,但在实践中,它在现代、终止TLS的Apache上被广泛启用——它是一种标准的性能优势,已融入过去几年无数的部署指南、主机面板默认配置和基础设施即代码模板中。任何通过TLS协商h2的站点都加载了该模块,且存在漏洞的路径可达。因此,HTTP/2这一条件确实缩小了受影响人群——但很可能比“默认关闭”听起来缩小的幅度要小。诚实的立场不是“这个条件使此事无关紧要”;而是“这个条件意味着版本匹配是验证的强候选对象,而非已确认的暴露”。这与PHP2Shell的论断有本质区别,我们在两个方向上都坚持这一立场。

Apache HTTP Server是我们持续监控的数百个组织中最常见的Web服务器:

诚实地陈述那个真正重要的数字:在我们能够实际读取Apache版本的组织中,大约五分之四运行在受影响范围内的版本上——而这是一个上界,不是估计值。由于我们无法被动确认某台主机是否启用了HTTP/2——即利用条件——真正暴露的比例更低,我们不会声称拥有我们并不具备的精确度。同样的形态在逐台主机层面也成立。

Fortirix运行被动、持续的外部监控。我们发现组织的互联网暴露主机,像任何浏览器一样请求其页面,并记录每台服务器在其Server响应头中主动提供的信息。我们不发送任何利用载荷,也不进行侵入性探测。当我们说某台主机运行Apache 2.4.62时,是主机自己告诉我们的——用curl -sI指向它,你会看到我们所看到的。

这种方法无法看到的,我们不会假装能看到:

独立验证该漏洞:Apache httpd安全公告、CVE-2026-119618的NVD记录以及CISA KEV目录。

如果你在任何互联网暴露的位置运行Apache,应对措施很直接,不需要等待CVSS评分:

无情地排定优先级:一台在受影响范围内、启用了HTTP/2且前面没有WAF的主机是今晚就要修复的;一台在受影响范围内但仅提供HTTP/1.1服务的主机可以等待正常的补丁周期。

(原文较长,此处译出前 6000 字,完整内容请点「打开原文」。)

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →