Cloudflare 已上线针对 php2shell 的 WAF 防护
截至 2026 年 10 月 21 日,Cloudflare 已面向所有启用 WAF 的客户部署针对 PHP 运行时漏洞 CVE-2026-109618 和 CVE-2026-109619 的防护措施。免费版和付费版用户默认生效,其中免费方案自 10 月 21 日 03:02 UTC 起提供保护。Cloudflare 表示,相关规则在公开披露前已经部署,并已用于识别针对客户站点的真实攻击流量。
观测数据显示,攻击者正在调整请求载荷,试图绕过防护。Cloudflare 安全团队因此持续分析匹配量、规则逻辑及新的变种,并按需更新检测规则。
从单次请求检测转向完整事务检测
php2shell 并非总能仅凭请求内容准确识别。部分正常请求与攻击请求在表面上高度相似,而源站返回的错误、崩溃或异常数据能够提供额外判断依据。为此,Cloudflare 开发了完整事务检测能力,在同一 HTTP 事务中结合请求与响应信号。
当请求和响应同时符合规则时,Cloudflare 可以在响应返回给访问者之前阻断它。这套机制有助于提高识别置信度,并降低误报风险。php2shell 防护也是 Cloudflare 首次将完整事务检测用于托管规则。
不同套餐的部署方式
- 免费方案:相关规则已加入 Cloudflare Managed Free Ruleset,Ruleset ID 为
77454fe2d30c4220b5701f6fdfb893ba,无需手动启用。 - Professional、Business 和 Enterprise:规则已纳入 Cloudflare Managed Ruleset,Ruleset ID 为
efb7b8c949ac4650a09736fc376e9aee。管理员应检查部署状态,确认规则以阻断模式运行。 - 响应侧规则:Managed Response Firewall Default 已自动部署到所有套餐,可在“安全与gt;安全规则”页面确认是否处于活动状态。
需要排查命中情况时,可在“安全与gt;安全分析与gt;事件”中按相关规则 ID 筛选,检查请求路径、命中内容和执行动作。
两个漏洞分别影响哪些处理阶段
- CVE-2026-109618:PHP 因内存耗尽而中断处理时,部分内部数据尚未完成初始化。请求清理阶段可能误用这些不完整数据,从而造成进程崩溃、敏感信息泄露或远程代码执行。
- CVE-2026-109619:致命错误中断请求后,PHP 仍可能保留指向已释放内存的引用。当同一进程处理后续请求时,失效引用可能被再次使用并暴露敏感数据。
这两个问题位于 PHP 运行时。Cloudflare 资料指出,运行 PHP 5.4 或更高版本的网络服务器均可能受到影响;攻击者通过特制 HTTP 请求触发异常内存状态。大型请求可以加大内存压力,但漏洞并不只是常规的资源耗尽问题。
WAF 防护不能替代 PHP 安全更新
Cloudflare 的规则提供的是纵深防御,而不是运行时修复。站点管理员仍应按照 PHP 官方公告升级 PHP 软件或安装包含安全修复的软件包,并重启 FPM、Apache、FrankenPHP、LiteSpeed 及其他常驻 PHP 工作进程,确保旧进程不会继续运行易受攻击的代码。
如果 PHP 由托管主机或共享主机提供商维护,应向服务商确认其补丁状态。限制上传大小、减少不必要的上传入口也有助于降低暴露面,但不能代替 PHP 更新。Cloudflare 建议在完成修复期间保持 WAF 规则启用,并关注后续规则更新。
资料来源:Cloudflare deploys protections against php2shell vulnerability(2026-10-21)。
一起聊聊
留下你的想法,评论审核通过后展示。