全球云服务与网络安全公司Cloudflare于2026年10月21日宣布,已针对PHP编程语言中被称为“php2shell”的两项严重安全漏洞部署Web应用防火墙(WAF)防护规则。这两项漏洞的编号分别为CVE-2026-109618和CVE-2026-109619,可能导致拒绝服务、远程代码执行及敏感数据泄露。


Cloudflare表示,公司在漏洞正式公开前就开始准备防护措施,并在漏洞公开前约9小时完成部署。从协调世界时10月21日凌晨3时02分起,启用Cloudflare WAF的免费和付费客户均已默认获得相关保护。

此次防护工作是Cloudflare与PHP基金会、OpenAI、Wiz等机构共同参与的协调响应行动之一。相关安全团队在漏洞信息提前泄露、攻击者开始尝试利用漏洞的情况下,持续调整防护规则,力求在网站运营者完成软件升级之前,为互联网服务提供额外保护。

Cloudflare表示,在漏洞正式公开之前,公司已经观察到针对客户的攻击流量。安全团队还发现,攻击者会不断修改攻击载荷,试图绕过已经部署的防护措施。通过跟踪规则匹配数量,并结合规则逻辑分析攻击者的变化,Cloudflare能够持续调整检测机制,以应对新的攻击变种。

PHP是互联网中应用广泛的服务器端编程语言。Cloudflare援引W3Techs的数据指出,全球近70%的网站使用PHP。包括WordPress和Magento在内的常见网站平台都依赖PHP运行,因此,底层运行环境一旦出现严重漏洞,就可能影响大量网站、在线服务和企业应用。

此次漏洞影响PHP运行时本身,而非某个特定网站程序或插件。攻击者可以向服务器发送经过特殊构造的HTTP请求,触发PHP在异常状态下处理内存的问题。根据Cloudflare披露的信息,两项漏洞涉及PHP在请求处理过程中发生内存不足或致命错误时,未能安全地处理相关内存和内部状态。

第一项漏洞CVE-2026-109618涉及内存耗尽后的异常处理。当PHP在部分内部数据尚未完成初始化时中断请求,后续清理操作可能错误地将这些尚未有效初始化的数据当作正常数据使用,造成内存损坏。

第二项漏洞CVE-2026-109619则涉及请求结束后仍然残留的内部状态。当一个请求发生致命错误后,PHP进程可能继续保留指向已经释放内存的引用。如果同一个进程随后处理另一个请求,就可能访问已经失效的内存,导致敏感数据泄露,甚至为进一步攻击创造条件。

攻击者可以通过构造特定请求触发这些异常。较大的请求可能造成内存压力,但风险并不局限于消耗服务器资源。攻击者还可能利用程序对无效内存的处理缺陷,使PHP进程崩溃、泄露敏感信息,或者执行攻击者提供的代码。

面对这类漏洞,传统的Web应用防火墙规则并不总能提供足够可靠的判断依据。Cloudflare指出,仅检查传入请求,有时难以准确区分恶意攻击与正常流量。如果能够同时分析请求和服务器返回的响应,就有机会获得更多上下文信息,更准确地判断攻击是否成功,并降低误拦截正常请求的概率。

为此,Cloudflare开发了一项名为“完整事务检测”(Full Transaction Detection)的新型WAF能力。该机制会结合同一HTTP事务中的请求和响应信号进行分析。当检测规则确认某次事务符合攻击特征时,可以在源服务器的响应内容返回给请求者之前将其拦截。

此次针对php2shell部署的防护规则,是Cloudflare首次使用这一新能力推出的托管式检测规则。公司认为,通过综合分析请求和响应,可以在识别复杂攻击的同时,减少单纯依赖请求特征可能造成的误判。

在具体部署方面,Cloudflare表示,免费套餐用户无需手动开启新的防护规则,相关规则已经自动部署在Cloudflare托管的免费规则集中。付费套餐则通过Cloudflare托管规则集提供保护,其中专业版、商业版和企业版用户应确认相关规则集已经启用,并处于拦截模式,而不仅仅是记录攻击事件。

Cloudflare还在其托管响应防火墙默认规则中部署了高置信度攻击特征的默认拦截规则。用户可以进入安全分析界面,查看被拦截的请求、匹配规则及相关路径,以了解自身网站是否受到攻击。对于需要进行更精细控制的客户,还可以调整托管规则集的适用范围。

不过,Cloudflare反复强调,WAF防护只能作为纵深防御的一部分,不能替代PHP官方补丁。即使网站已经启用Cloudflare防火墙,管理员仍应尽快更新服务器上实际运行的PHP软件。原因在于,WAF主要通过识别和拦截已知或可检测的攻击流量来降低风险,而漏洞本身仍然存在于未修复的PHP运行环境中。攻击者一旦采用新的攻击方式,或者请求未能被现有规则准确识别,系统仍可能面临风险。

对于暂时无法立即完成升级的组织,Cloudflare建议继续启用WAF防护,同时限制不必要的文件上传功能,并为必须保留的上传接口设置合理的文件大小上限。这些措施有助于降低部分攻击路径的暴露程度,但并不能彻底解决漏洞问题。对于使用托管主机的网站,如果运营者无法直接管理PHP版本,应尽快联系主机服务商,确认其是否已经部署官方安全更新。

Cloudflare表示,安全分析团队将继续监控攻击活动,并根据攻击者采用的新技术和载荷变种更新防护规则。公司也建议用户在修复PHP漏洞的同时,继续保留相关WAF保护,形成多层防御。

此次事件凸显了互联网安全响应机制的重要性。对于影响面广、可能被远程利用的底层软件漏洞,仅仅发布补丁并不足以确保所有网站立即恢复安全,因为不同运营者的更新速度、维护能力和服务器管理方式存在很大差异。云服务商提前部署防护规则,可以在补丁发布与大规模安装之间争取宝贵时间。

但从长期来看,最可靠的解决方案仍然是升级至PHP官方发布的修复版本。Cloudflare的临时防护措施能够为网站提供额外屏障,却不能保证所有攻击变种都被拦截。对于运行PHP的网站而言,及时修复底层运行环境、保持防火墙规则启用,并持续检查异常请求,仍是应对此次php2shell漏洞的关键措施。

相关文章:

PHP曝出严重安全漏洞 全球网站运营商紧急进入修补状态