CVE-2025-11171CVE-2025-11171是WordPress平台上一款名为Chartify的图表插件(chart-builder)所存在的未授权访问漏洞。该漏洞由Wordfence安全团队的研究员发现,并于2025年10月8日正式披露。Chartify插件允许WordPress用户在网站中轻松创建和展示各种图表,广泛应用于数据可视化场景。然而,该插件在所有3.5.9及以下版本中,存在一个严重的安全设计缺陷:插件注册了一个未经身份验证的AJAX操作(AJAX action),该操作会根据请求参数将调用分派到admin类的方法,但在整个调用链中完全缺失nonce验证和权限能力检查(capability checks)。这意味着任何未登录的远程攻击者,只要能够猜测或枚举出可调用的方法名称,就可以通过WordPress标准的wp-admin/admin-ajax.php端点执行插件的管理员级功能。CVSS 3.1评分为5.3分,属于中危级别,攻击向量为网络(AV:N),无需认证(PR:N),无需用户交互(UI:N),对机密性无影响,对完整性有低影响(C:L/I:L/A:N)。该漏洞的威胁在于攻击者可以未经授权执行管理操作,可能导致网站配置被篡改、数据被修改或其他管理功能的滥用,对使用该插件的WordPress站点构成实质性安全风险。
从技术层面分析,该漏洞的根本原因在于Chartify插件的AJAX端点注册逻辑存在严重的安全缺陷。插件通过WordPress的wp_ajax_系列钩子注册了一个AJAX处理动作,该动作接收来自HTTP请求的参数(包括要调用的方法名),然后直接通过PHP的call_user_func()或类似机制将请求分发到admin类(class-chart-builder-admin.php)中的相应方法。在整个调用过程中,代码既没有使用WordPress标准的check_ajax_referer()或wp_verify_nonce()进行CSRF令牌校验,也没有调用current_user_can()进行用户权限能力检查。具体涉及的关键代码位置包括:admin/class-chart-builder-admin.php的第1625行(AJAX动作注册处)、第675行(方法分发逻辑处),以及includes/class-chart-builder.php的第247行(插件初始化处)。攻击者利用该漏洞的方式非常简单:首先,攻击者通过HTTP POST请求向目标站点的wp-admin/admin-ajax.php端点发送请求,在请求体中指定action参数为插件注册的AJAX动作名称(如chart_builder_ajax),并通过额外的参数指定要调用的admin类方法名称。由于完全缺乏认证和授权检查,服务器将直接执行该方法,从而实现未授权的管理功能调用。攻击者只需通过插件源代码分析或暴力枚举即可发现可调用的方法名称,进而执行各种管理操作。