发布于2026-05-28 阅读(0)
扫一扫,手机访问
Apache软件基金会近日发布了一系列安全更新,用于修复其HTTP服务器中的多个安全漏洞。其中,一个被标记为高危的漏洞尤其值得关注,它可能导致远程代码执行(RCE)。
该漏洞编号为CVE-2026-23918,CVSS评分为8.8分。问题出在HTTP/2协议的处理过程中,被描述为一种“双重释放”漏洞,并可能进一步引发RCE。此漏洞影响Apache HTTP Server 2.4.66版本,已在2.4.67版本中得到修复。
漏洞的发现和报告归功于Striga.ai的联合创始人巴特洛米耶·德米特鲁克以及ISEC研究员斯坦尼斯瓦夫·斯特扎尔科夫斯基。
根据德米特鲁克向媒体透露的信息,CVE-2026-23918的严重性在于,它既可以被用来发起拒绝服务(DoS)攻击,也可能被利用来实现远程代码执行。具体的技术细节如下:
CVE-2026-23918本质上是Apache HTTP Server 2.4.66中mod_http2模块的一个双重释放漏洞,具体位于h2_mplx.c文件的流清理路径中。触发条件相对特定:当客户端在服务器注册流之前,快速连续地发送一个HTTP/2 HEADERS帧,紧接着发送一个带有非零错误代码的RST_STREAM帧到同一个流时,漏洞就会被触发。
随后,nghttp2库的两个回调函数会按顺序启动:先是处理RST帧的on_frame_recv_cb,然后是处理流关闭的on_stream_close_cb。这最终会调用h2_mplx_c_client_rst -> m_stream_cleanup,将同一个h2_stream指针推送到清理数组中。当c1_purge_streams在后续循环中迭代该数组并调用h2_stream_destroy -> apr_pool_destroy时,第二次调用就会命中已经被释放的内存区域。
德米特鲁克解释道,实现DoS攻击非常简单,适用于任何使用了mod_http2和多线程MPM(多处理模块)的默认部署。而要实现RCE,则需要Apache便携式运行时(APR)使用mmap分配器,这在Debian衍生系统和最新的httpd Docker镜像中是默认配置。
“第一种是拒绝服务,这很简单:一个TCP连接、两个帧、无需身份验证、无需特殊头部、也无需特定URL,就能导致工作进程崩溃。”德米特鲁克指出,“Apache主进程会重启崩溃的工作进程,但只要攻击者持续发送攻击流量,这种崩溃-重启的模式就可以一直持续下去,从而耗尽服务器资源。”
“第二个后果就是远程代码执行。我们已经在x86_64架构上构建了一个可用的概念验证。”他进一步说明,“利用链通过mmap将一个伪造的h2_stream结构体重用到已释放的虚拟地址上,将其池清理函数指针指向system(),并使用Apache的记分板内存作为存放伪造结构和命令字符串的稳定容器。”
关键在于,记分板在服务器生命周期内位于固定地址,即使系统启用了地址空间布局随机化(ASLR)也是如此,这大大增加了RCE利用路径的实用性。当然,实际的利用通常需要知道system()函数和记分板在内存中的偏移地址,并且堆喷技术具有一定的概率性。但在实验室可控环境下,完成整个利用过程只需要几分钟。
德米特鲁克还补充说明,该漏洞不会影响使用MPM prefork(预派生)模块的部署。然而,研究人员警告,由于mod_http2模块在默认构建中存在,且HTTP/2协议在生产环境中已被广泛采用,该漏洞的潜在攻击面相当大。鉴于其高危性质,强烈建议所有受影响用户尽快升级到已修复的版本,以获得最佳防护。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
4
5
6
7
8
9