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

CVE-2026-3619 WordPress插件Sheets2Table存储型XSS漏洞

披露日期: 2026-03-21

漏洞信息

漏洞编号
CVE-2026-3619
漏洞类型
存储型跨站脚本攻击 (Stored XSS)
CVSS评分
6.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
WordPress Sheets2Table Plugin

相关标签

XSSStored XSSWordPressSheets2TablePlugin VulnerabilityCWE-79

漏洞概述

WordPress Sheets2Table插件在0.4.1及以下版本中存在存储型跨站脚本(XSS)漏洞。该漏洞源于插件对`[sheets2table-render-table]`短代码中的'titles'属性缺乏足够的输入清理和输出转义。具有Contributor及以上权限的经过身份验证的攻击者,可以通过恶意构造的短代码属性注入任意Web脚本。当其他用户访问包含该恶意代码的页面时,脚本将在其浏览器中执行,可能导致账户劫持或敏感信息窃取。

技术细节

该漏洞的具体技术缺陷在于插件处理表格标题时的输出逻辑。在`class-sheets2table-tables.php`文件的`display_table_header()`函数中,代码直接通过`echo $header`将数据输出到HTML的`<th>`标签内,未使用WordPress标准的`esc_html()`函数进行转义。在输入处理阶段,`S2T_Functions::trim_array_values()`函数仅对输入值进行了空白字符修剪,完全未对HTML特殊字符或脚本标签进行过滤。攻击者利用Contributor权限发布文章,插入包含恶意JavaScript的短代码,如`[sheets2table-render-table titles='"><script>alert(1)</script>']`。由于缺乏转义,该脚本被持久化存储在数据库中,当其他用户浏览该页面时,浏览器解析HTML并执行恶意脚本。

攻击链分析

STEP 1
步骤1:获取权限
攻击者注册或获取一个具有Contributor(投稿者)或更高权限的WordPress账户。
STEP 2
步骤2:构造Payload
攻击者构造包含恶意JavaScript代码的Sheets2Table短代码,利用'titles'属性注入脚本。
STEP 3
步骤3:注入Payload
攻击者在新建或编辑的文章/页面中插入该恶意短代码,并将页面状态设为发布或待审核。
STEP 4
步骤4:触发漏洞
当管理员或其他用户访问包含该短代码的页面时,恶意脚本在浏览器中执行,窃取Cookie或执行其他操作。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- PoC for CVE-2026-3619 Stored XSS --> <!-- Usage: Add this shortcode to a WordPress page/post with Contributor+ privileges --> [sheets2table-render-table titles='"><script>alert(document.cookie);</script><"'] <!-- Explanation: --> <!-- The 'titles' attribute is not escaped when echoed inside a <th> tag. --> <!-- This breaks out of the attribute context and injects a script tag. -->

影响范围

Sheets2Table <= 0.4.1

防御指南

临时缓解措施
建议立即检查并更新Sheets2Table插件到修复了该漏洞的最新版本。在无法立即升级的情况下,应暂时禁用该插件,或者严格限制具有Contributor及以上角色的用户发布内容,并全面审查站点中是否已包含恶意的短代码。

参考链接

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