PHP2Shell 漏洞绕过 ASLR 保护,实现远程代码执行
VulnCheck 研究人员开发出一种新的利用方式,证明即使在启用地址空间布局随机化(ASLR)的 x86-64 服务器上,PHP2Shell 漏洞仍可被成功利用以执行远程代码。此前,ASLR 一直被视为阻碍该漏洞在现实环境中生效的最大安全屏障。

针对这一进展,VulnCheck 漏洞开发主任 Spencer McIntyre 向 The Register 表示:“对手显然在这个漏洞上投入了大量时间和资源。”他同时警告称,威胁行为者正在利用人工智能技术寻找更多的攻击途径。
据报道,部分攻击者在相关安全漏洞正式披露前几天就已开始滥用这些缺陷。
涉及的关键漏洞与补丁发布
此次研究聚焦于两个关键漏洞:CVE-2026-109618,这是一个导致 PHP 中远程代码执行(RCE)的关键内存缺失腐败漏洞;以及 CVE-2026-109619,即 PHP2Shell 漏洞。PHP 基金会已于周三正式发布并发布了针对这两种漏洞的修补程序。
首个突破 ASLR 的公开利用案例
VulnCheck 的研究人员声称,他们开发了第一个已知能在支持 ASLR 的 x86-64 系统上实现远程代码执行的漏洞利用链。该利用基于 PHP 推荐的默认生产配置进行验证。
ASLR 是一种内置的安全防护机制,通过随机排列程序关键数据区域的内存位置来防御内存腐败漏洞。由于每次程序运行时内存布局都会发生变化,攻击者难以准确猜测目标内存地址,从而无法注入并执行恶意代码。
尽管 VulnCheck 指出 GitHub 上存在“数百个 PHP2Shell 概念验证仓库”,但其中真正合法且有效的漏洞利用极少。McIntyre 强调,展示一个理论上的漏洞与开发出能够克服现实环境安全保护的利用代码之间存在巨大差异,而 ASLR 正是后者面临的主要障碍之一。
技术细节与平台兼容性
据透露,这项新技术利用了 PHP 8.4.26 版本中的一个已确认内存泄漏问题,将其链接至 RCE 执行路径。即便在 ASLR 启用且 PHP 设置为 display_errors=Off 的生产配置下,该利用方法在 x86-64 平台上依然有效。
McIntyre 表示:“我们尚未发现其他在相同条件下实现此目标的公共或商业漏洞利用。虽然开发这种功能绝非易事,但它表明在生产配置的系统上利用 PHP2Shell 的一个主要障碍已被克服。”
关于跨平台支持,VulnCheck 指出该利用技术在 ARM64 架构上也可以运行,但目前尚无法在基于 ARM 的系统上实现远程代码执行。
安全建议
McIntyre 提醒道:“不应将利用漏洞的技术难度与对其的保护能力混为一谈。”对于运行易受攻击 PHP 版本的组织而言,应优先考虑安装官方补丁,而不是假设现有的内存保护机制或配置更改足以阻止攻击。





