IPBUF安全漏洞报告
English
CVE-2026-4512 CVSS 3.5 低危

CVE-2026-4512 reCaptcha插件存储型XSS漏洞

披露日期: 2026-04-23

漏洞信息

漏洞编号
CVE-2026-4512
漏洞类型
存储型跨站脚本 (Stored XSS)
CVSS评分
3.5 低危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
需要交互 (UI:R)
影响产品
reCaptcha by WebDesignBy WordPress Plugin

相关标签

XSSStored XSSWordPressWordPress PluginCVE-2026-4512reCaptchaInjection

漏洞概述

该漏洞存在于WordPress插件reCaptcha by WebDesignBy 2.0之前的版本中。由于插件在输出Site Key设置时未进行适当的清理或转义,导致多站点安装中的管理员(即使不具备unfiltered_html权限)可以在WordPress登录页面注入任意JavaScript代码。当访客访问登录页面时,恶意脚本将被执行,造成信息泄露或完整性破坏。

技术细节

漏洞的根本原因在于插件代码中`grecaptcha_js()`函数对用户可控的“Site Key”参数处理不当。该函数直接将Site Key值拼接到JavaScript字符串上下文中输出,未使用WordPress的转义函数(如`esc_js()`)进行过滤。在WordPress多站点的部署场景下,普通管理员通常受到权限限制,无法发布未经过滤的HTML内容。然而,此漏洞允许权限受限的管理员将恶意代码(如闭合引号后的JS Payload)注入到Site Key字段。一旦保存,任何用户访问`/wp-login.php`时,该恶意脚本都会在浏览器端执行,形成存储型XSS攻击,进而窃取会话Cookie或进行钓鱼攻击。

攻击链分析

STEP 1
1
攻击者获取WordPress多站点环境下的管理员权限,但可能没有unfiltered_html权限。
STEP 2
2
攻击者访问插件设置页面,定位到reCaptcha配置项中的“Site Key”输入框。
STEP 3
3
攻击者在“Site Key”字段中注入恶意的JavaScript载荷(例如闭合引号加alert语句)。
STEP 4
4
保存设置,恶意载荷被存储在数据库中。
STEP 5
5
普通用户或管理员访问WordPress登录页面。
STEP 6
6
插件调用`grecaptcha_js()`函数,将未经过滤的Site Key输出到页面HTML中。
STEP 7
7
受害者的浏览器解析并执行注入的恶意JavaScript代码。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// PoC Payload for CVE-2026-4512 // This payload is designed to be injected into the 'Site Key' field // within the plugin settings. // Step 1: Log in as an Administrator on a WordPress Multisite installation. // Step 2: Navigate to Settings > reCaptcha by WebDesignBy. // Step 3: Find the 'Site Key' input field. // Step 4: Enter the following payload: var malicious_payload = '"; alert("CVE-2026-4512 - XSS Executed"); var x="'; // Explanation: // The double quote (") closes the existing JavaScript string context in the source code. // The semicolon (;) terminates the statement. // The alert() function executes the proof-of-concept JavaScript. // The var x=" part starts a new string to balance the syntax, preventing immediate JS errors that might stop execution. // Step 5: Save the settings. // Step 6: Visit the WordPress login page (/wp-login.php) as a regular visitor. // Observation: The alert box should appear, indicating successful script execution.

影响范围

reCaptcha by WebDesignBy < 2.0

防御指南

临时缓解措施
如果无法立即升级,建议暂时禁用该插件,或者限制普通管理员对插件设置页面的访问权限,直到应用补丁。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表