W3 Total Cache漏洞已发布概念验证,影响100多万个WordPress网站
针对 CVE-2025-9501 的一个概念验证漏洞利用程序已公开发布。CVE-2025-9501 是一个严重的未经身份验证的命令注入漏洞,会影响 WordPress 最广泛部署的缓存插件之一 W3 Total Cache。 该漏洞已造成超过 100 万次活跃安装,对全球无数网站构成重大风险。
针对 CVE-2025-9501 的一个概念验证漏洞利用程序已公开发布。CVE-2025-9501 是一个严重的未经身份验证的命令注入漏洞,会影响 WordPress 最广泛部署的缓存插件之一 W3 Total Cache。
该漏洞已造成超过 100 万次活跃安装,对全球无数网站构成重大风险。
RCE 安全工具发现 W3 Total Cache 的动态内容解析功能存在缺陷,具体来说是 PgCache_ContentGrabber 类中的 _parse_dynamic_mfunc 函数。
存在漏洞的代码利用 PHP 的 eval() 函数执行从缓存页面内容中提取的代码,从而创建了一个直接代码注入向量。
发现未经认证的命令注入攻击
RCESecurity 的研究人员分析了 WPScan 的初步建议,并开发了一个可用的漏洞利用程序来验证该漏洞的严重性。
该漏洞需要满足特定条件才能被利用。攻击者必须知道网站 wp-config.php 文件中定义的 W3TC_DYNAMIC_SECURITY 常量值。
此外,必须启用页面缓存(核心功能,但默认情况下处于禁用状态),并且必须允许未经身份验证的用户发表评论。
如果这些条件满足,攻击者可以通过在缓存页面中精心构造的 HTML 注释注入任意 PHP 代码,从而实现完全的远程代码执行。
当页面缓存处理请求时,它会调用存在漏洞的 _parse_dynamic 函数,该函数会在缓存内容中搜索特殊格式的 mfunc 注释标签。
如果攻击者知道 W3TC_DYNAMIC_SECURITY 的值,他们就可以在这些标签中注入恶意 PHP 代码。该代码随后会在服务器上直接执行,从而使攻击者获得 shell 级别的访问权限。
像 <!-- mfunc rcesec ->echo passthru($_GET[1337])<!-- /mfunc rcesec -> 这样简单的注入就可以执行命令。
虽然从技术上讲,一旦满足前提条件,利用该漏洞就很容易,但该漏洞在现实世界中的影响取决于WordPress管理员的操作习惯。
使用默认值或弱密钥的 W3TC_DYNAMIC_SECURITY 功能的网站面临更高的风险。
插件的广泛应用以及执行任意代码的能力相结合,使之成为一种重大威胁。
RCESecurity 建议 使用 W3 Total Cache 的网站管理员立即检查其安全配置,如果未使用此功能,则将其关闭,或应用可用的补丁。
该漏洞凸显了安全编码实践的重要性,尤其是在安全敏感的环境中避免使用动态代码评估函数(如 eval())。
网站所有者应立即检查 W3 Total Cache 配置,并在有可用补丁版本时更新到该版本,如果动态内容缓存不经常使用,则考虑禁用该功能。
进行渗透测试的组织应将此漏洞纳入其评估协议中,以识别其基础设施中暴露的实例。
该漏洞已造成超过 100 万次活跃安装,对全球无数网站构成重大风险。
RCE 安全工具发现 W3 Total Cache 的动态内容解析功能存在缺陷,具体来说是 PgCache_ContentGrabber 类中的 _parse_dynamic_mfunc 函数。
存在漏洞的代码利用 PHP 的 eval() 函数执行从缓存页面内容中提取的代码,从而创建了一个直接代码注入向量。
发现未经认证的命令注入攻击
RCESecurity 的研究人员分析了 WPScan 的初步建议,并开发了一个可用的漏洞利用程序来验证该漏洞的严重性。
该漏洞需要满足特定条件才能被利用。攻击者必须知道网站 wp-config.php 文件中定义的 W3TC_DYNAMIC_SECURITY 常量值。
此外,必须启用页面缓存(核心功能,但默认情况下处于禁用状态),并且必须允许未经身份验证的用户发表评论。
如果这些条件满足,攻击者可以通过在缓存页面中精心构造的 HTML 注释注入任意 PHP 代码,从而实现完全的远程代码执行。
当页面缓存处理请求时,它会调用存在漏洞的 _parse_dynamic 函数,该函数会在缓存内容中搜索特殊格式的 mfunc 注释标签。
如果攻击者知道 W3TC_DYNAMIC_SECURITY 的值,他们就可以在这些标签中注入恶意 PHP 代码。该代码随后会在服务器上直接执行,从而使攻击者获得 shell 级别的访问权限。
像 <!-- mfunc rcesec ->echo passthru($_GET[1337])<!-- /mfunc rcesec -> 这样简单的注入就可以执行命令。
虽然从技术上讲,一旦满足前提条件,利用该漏洞就很容易,但该漏洞在现实世界中的影响取决于WordPress管理员的操作习惯。
使用默认值或弱密钥的 W3TC_DYNAMIC_SECURITY 功能的网站面临更高的风险。
插件的广泛应用以及执行任意代码的能力相结合,使之成为一种重大威胁。
RCESecurity 建议 使用 W3 Total Cache 的网站管理员立即检查其安全配置,如果未使用此功能,则将其关闭,或应用可用的补丁。
该漏洞凸显了安全编码实践的重要性,尤其是在安全敏感的环境中避免使用动态代码评估函数(如 eval())。
网站所有者应立即检查 W3 Total Cache 配置,并在有可用补丁版本时更新到该版本,如果动态内容缓存不经常使用,则考虑禁用该功能。
进行渗透测试的组织应将此漏洞纳入其评估协议中,以识别其基础设施中暴露的实例。




评论0次