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

CVE-2026-5715: Voyage Plus插件存储型XSS漏洞

披露日期: 2026-05-12

漏洞信息

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

相关标签

XSSStored XSSWordPressVoyage PlusCVE-2026-5715Plugin Vulnerability

漏洞概述

WordPress的Voyage Plus插件在1.0.6及之前版本中存在存储型跨站脚本(XSS)漏洞。该漏洞源于插件未能对'post-content'短代码的'class'属性进行充分的输入清理和输出转义。拥有贡献者及以上权限的经过身份验证的攻击者,可以利用此漏洞在页面中注入任意恶意Web脚本。当其他用户访问被注入的页面时,恶意脚本将在其浏览器中执行,从而导致潜在的数据窃取或会话劫持。

技术细节

该漏洞的技术核心在于WordPress短代码处理机制中的输入验证缺失。Voyage Plus插件在渲染`post-content`短代码时,直接将用户输入的`class`属性值输出到HTML标签中,未使用`esc_attr()`等函数进行转义。攻击者只需具备文章编辑权限(如Contributor角色),即可在文章内容中插入构造恶意的短代码,例如`[post-content class=" onmouseover=alert(1) "]`。由于这是存储型XSS,恶意载荷被持久化存储在数据库中。一旦管理员或普通用户浏览该页面,浏览器解析HTML时即触发XSS。攻击者可利用此漏洞进行权限提升、窃取Cookie或进行钓鱼攻击。

攻击链分析

STEP 1
1. 获取权限
攻击者获取一个具有贡献者及以上权限的WordPress账户凭证。
STEP 2
2. 注入Payload
攻击者在后台编辑文章或页面,插入包含恶意JavaScript代码的'post-content'短代码,利用'class'属性绕过过滤。
STEP 3
3. 存储数据
包含恶意短代码的内容被保存到WordPress数据库中。
STEP 4
4. 触发漏洞
当受害者(如管理员)访问受影响的页面时,服务器加载内容并渲染包含未转义class属性的HTML,导致浏览器执行恶意脚本。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- PoC for CVE-2026-5715 --> <!-- 1. Log in as a user with Contributor access or higher. --> <!-- 2. Create a new Post or Page. --> <!-- 3. Insert the following payload into the content editor: --> [post-content class=" onmouseover=alert('XSS') "] <!-- Alternative Payload using script tag (if filtering allows): --> [post-content class="><script>alert(document.cookie)</script><"] <!-- 4. Publish/Submit the post. --> <!-- 5. Visit the post page to trigger the payload. -->

影响范围

Voyage Plus <= 1.0.6

防御指南

临时缓解措施
如果无法立即升级插件,建议暂时禁用Voyage Plus插件以消除风险。或者,严格审查网站内容,移除所有不可信的短代码使用,并仅允许受信任的高级用户发布内容,以防止恶意脚本注入。

参考链接