CVE-2025-11746CVE-2025-11746是WordPress XStore主题中的一个高危本地文件包含(Local File Inclusion, LFI)漏洞。该漏洞存在于XStore主题的et_ajax_required_plugins_popup()函数中,影响所有9.5.4及以下版本。该漏洞允许具有Subscriber级别及以上权限的已认证攻击者通过构造恶意请求,在服务器上包含并执行任意.php文件。由于WordPress默认注册即可获得Subscriber级别权限,这意味着任何能够注册账号的用户均可利用此漏洞。
成功利用此漏洞后,攻击者可以执行任意PHP代码,从而绕过访问控制、获取敏感数据,或在能够上传.php文件的场景下实现完整的远程代码执行(RCE)。攻击者可进一步获取服务器控制权限,植入Web Shell,窃取数据库中的用户凭证、会话信息等敏感数据,或将服务器作为跳板进行内网横向移动。该漏洞的CVSS 3.1评分为8.8分,属于高危级别,其危害程度因攻击复杂度低、无需用户交互以及对机密性、完整性、可用性的全面影响而极为严重。
该漏洞由Wordfence安全团队的安全研究员发现并报告,披露日期为2025年10月15日。鉴于WordPress生态系统中XStore主题被广泛使用于电商网站(WooCommerce集成),该漏洞对在线商店和企业的数据安全构成重大威胁。建议所有使用XStore主题的用户立即检查并更新至修复版本。
该漏洞的核心位于XStore主题的et_ajax_required_plugins_popup()函数中。该函数在处理AJAX请求时,未对用户可控的输入参数进行充分的验证和过滤,导致攻击者可以通过构造特殊的文件路径参数,利用PHP的include()或require()等文件包含函数加载服务器上的任意.php文件。
从技术实现来看,WordPress的AJAX处理机制通过admin-ajax.php统一处理前端发起的AJAX请求。当已认证用户(包括Subscriber级别)调用与et_ajax_required_plugins_popup相关的AJAX动作时,主题代码会将请求中的某个参数直接用于文件路径拼接,而未使用白名单机制或路径规范化处理(如basename()、realpath()验证等)。攻击者可以利用目录遍历序列(如../../../)配合绝对路径或相对路径,引用系统中的敏感文件(如wp-config.php),或在允许文件上传的场景下引用上传的恶意.php文件。
利用条件方面,攻击者需要具备有效的WordPress账户凭据(Subscriber级别),但由于WordPress默认开放用户注册或在多数站点上注册功能可用,该门槛极低。攻击者登录后,通过构造包含恶意路径的AJAX请求即可触发漏洞。一旦包含恶意PHP文件,其中的PHP代码将在WordPress的PHP进程上下文中执行,继承当前Web服务器的权限,从而实现完全的系统控制。
漏洞的根本原因在于开发者假设了AJAX回调中的参数是安全的,未遵循"永不信任用户输入"的安全原则,未对文件路径进行严格的验证和限制。