IPBUF安全漏洞报告
English
CVE-2026-5247 CVSS 5.5 中危

CVE-2026-5247 WordPress PublishPress Future 存储型XSS漏洞

披露日期: 2026-05-05

漏洞信息

漏洞编号
CVE-2026-5247
漏洞类型
存储型跨站脚本 (Stored XSS)
CVSS评分
5.5 中危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
无需交互 (UI:N)
影响产品
WordPress插件 Schedule Post Changes With PublishPress Future

相关标签

XSSStored XSSWordPressPublishPress FutureCWE-79CVSS-5.5

漏洞概述

该插件在4.10.0及之前版本中存在存储型XSS漏洞。漏洞源于[futureaction]短代码的'wrapper'属性缺乏足够的输入清理机制。尽管开发者使用了esc_html()函数进行转义,但这仅能编码HTML实体,无法防止在sprintf()调用中将值作为HTML标签名使用时的属性注入。具备管理员权限的攻击者可利用此漏洞在页面中注入恶意Web脚本。若管理员将此功能开放给低权限用户,还可能导致贡献者滥用该漏洞。

技术细节

该漏洞的核心在于插件对用户输入的处理逻辑存在缺陷。在ShortcodeController.php中,插件接收'wrapper'参数,并直接将其作为HTML标签名拼接到页面结构中。虽然esc_html()被用来过滤输入,它能将尖括号等字符转换为HTML实体,从而防止简单的标签闭合注入。然而,它无法处理空格后的内容。攻击者可以在wrapper值中插入空格,随后跟随事件处理程序(如onmouseover、onload)。例如,输入“div onmouseover=alert(1)”经过sprintf处理后,生成的HTML代码变成了带有事件属性的标签。当用户访问包含该短代码的页面时,嵌入的JavaScript代码将在浏览器中执行,导致存储型XSS攻击。

攻击链分析

STEP 1
1. 获取权限
攻击者获得WordPress管理员或更高权限账户,或诱导管理员开放短代码功能给低权限用户。
STEP 2
2. 注入Payload
攻击者在编辑文章或页面时,插入包含恶意wrapper属性的[futureaction]短代码,例如:[futureaction wrapper="div onmouseover=alert(1)"]。
STEP 3
3. 存储数据
带有恶意短代码的内容被保存到WordPress数据库中。
STEP 4
4. 触发漏洞
当普通用户或管理员访问包含该短代码的页面时,服务器端渲染页面,将wrapper值拼接到HTML标签中。
STEP 5
5. 执行脚本
受害者的浏览器解析包含事件处理属性的HTML,执行攻击者注入的JavaScript代码。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- PoC for CVE-2026-5247 Stored XSS --> <!-- Usage: Insert the following shortcode into a post or page --> [futureaction wrapper="div onmouseover=alert('XSS')"] <!-- Explanation: --> <!-- The 'wrapper' attribute injects 'div onmouseover=alert('XSS')'. --> <!-- The plugin constructs HTML like: <div onmouseover=alert('XSS')>...</div> --> <!-- Triggering: Mouse over the element generated by the shortcode on the published page. -->

影响范围

Schedule Post Changes With PublishPress Future <= 4.10.0

防御指南

临时缓解措施
在未升级插件前,建议暂时禁用Schedule Post Changes With PublishPress Future插件。如果必须使用,请确保仅管理员可以使用该短代码功能,并检查现有内容中是否已包含恶意的wrapper属性配置。

参考链接

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