IPBUF安全漏洞报告
English
CVE-2026-3513 CVSS 6.4 中危

CVE-2026-3513: TableOn插件存储型XSS漏洞

披露日期: 2026-04-08

漏洞信息

漏洞编号
CVE-2026-3513
漏洞类型
存储型XSS
CVSS评分
6.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
TableOn – WordPress Posts Table Filterable

相关标签

XSSWordPress存储型跨站脚本TableOnCVE-2026-3513

漏洞概述

该漏洞存在于WordPress插件TableOn中。在1.0.4.4及之前的版本中,`tableon_button`短码对用户提供的属性(如class、help_link等)缺乏足够的输入清理和输出转义。经过身份认证的攻击者(至少拥有Contributor权限)可以通过构造恶意短码参数,在页面中注入任意Web脚本。当其他用户访问受影响页面时,脚本将在其浏览器中执行,导致存储型跨站脚本攻击风险。

技术细节

漏洞位于插件处理短码的逻辑中。`tableon_button`短码调用`do_shortcode_button()`函数提取用户属性,如'class'、'help_link'、'popup_title'等,但未对数据进行净化。这些属性随后被传递给`TABLEON_HELPER::draw_html_item()`方法。该方法在生成HTML时,直接使用单引号拼接属性值(代码逻辑类似:$item .= " {$key}='{$value}'"),未进行HTML实体转义。这使得攻击者可以注入单引号提前闭合属性,并插入恶意JavaScript事件处理器(如onmouseover、onclick)。由于是存储型漏洞,恶意脚本会持久化在数据库中,任何浏览该页面的用户都会触发攻击。

攻击链分析

STEP 1
1
攻击者获取具有Contributor或更高权限的WordPress账户。
STEP 2
2
攻击者编辑文章或页面,插入包含恶意payload的`tableon_button`短码。
STEP 3
3
攻击者发布文章,恶意payload被存储在数据库中。
STEP 4
4
管理员或普通用户访问该文章页面。
STEP 5
5
浏览器解析未转义的HTML属性,触发恶意JavaScript代码执行。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- PoC for CVE-2026-3513 Usage: Add the following shortcode to a WordPress post or page (Contributor access). The payload breaks the single quote in the HTML attribute and injects an event handler. --> <!-- Payload using 'class' attribute --> [tableon_button class="' onmouseover='alert(1)'" text="Hover me"] <!-- Payload using 'help_title' attribute --> [tableon_button help_title="'><script>alert(document.cookie)</script><" text="Click me"]

影响范围

TableOn – WordPress Posts Table Filterable <= 1.0.4.4

防御指南

临时缓解措施
建议立即将TableOn插件升级至修复了该漏洞的最新版本。如果暂时无法升级,应限制低权限用户(如Contributor)的内容发布权限,或暂时禁用该插件以防止攻击。

参考链接

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