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

CVE-2026-1886: WordPress Go Night Pro插件存储型XSS漏洞

披露日期: 2026-03-21

漏洞信息

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

相关标签

XSSStored XSSWordPressWordPress PluginGo Night ProCWE-79

漏洞概述

Go Night Pro WordPress插件在所有版本(包括1.1.0)中存在存储型跨站脚本(XSS)漏洞。该漏洞源于插件对'shortcode'中的'margin'属性缺乏足够的输入清理和输出转义。拥有投稿人及以上权限的经过身份验证的攻击者可以利用此漏洞在页面中注入任意恶意Web脚本,当其他用户访问被注入的页面时,脚本将在其浏览器中执行,从而窃取用户信息或进行进一步攻击。

技术细节

该漏洞位于Go Night Pro插件的短代码处理机制中。具体而言,当插件解析`go-night-pro-shortcode`时,它直接从用户输入中获取`margin`参数的值,并将其未经任何安全过滤或转义直接输出到前端页面的HTML代码中(通常是作为内联样式)。这种缺乏输入清理和输出转义的做法,允许攻击者通过精心构造的Payload闭合当前的CSS属性上下文,进而注入恶意的JavaScript代码。例如,攻击者可以在`margin`属性中插入分号以结束当前样式,随后跟随`javascript:alert(1)`或闭合引号并添加`onerror`事件。由于这是存储型XSS,恶意代码被持久化保存在数据库中。一旦具有投稿人及以上权限的攻击者发布了包含恶意短代码的内容,任何访问该页面的用户(包括管理员)都会在浏览器中执行这些脚本。鉴于CVSS向量中的范围变更(S:C),该漏洞可能不仅限于插件页面,还能影响WordPress站点的其他部分,导致会话劫持、恶意重定向或敏感数据窃取。

攻击链分析

STEP 1
1. 信息收集
攻击者确认目标站点安装了Go Night Pro插件,且版本在1.1.0及以下。
STEP 2
2. 获取低权限账户
攻击者注册或通过其他方式获取一个具有投稿人(Contributor)及以上权限的WordPress账户。
STEP 3
3. 注入恶意Payload
攻击者创建新文章或页面,在内容中插入包含恶意JavaScript代码的特制短代码(如利用'margin'属性)。
STEP 4
4. 持久化存储
文章被保存(可能需要管理员审核发布,也可能直接发布,具体取决于站点设置),恶意Payload被存储在数据库中。
STEP 5
5. 触发漏洞
当管理员或其他用户访问包含该短代码的页面时,服务器解析短代码并输出未经过滤的恶意代码。
STEP 6
6. 执行攻击
受害者的浏览器执行恶意脚本,攻击者可借此窃取Cookie、会话令牌或重定向用户。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// PoC for CVE-2026-1886 // Inject the following shortcode into a WordPress post/page (Contributor+ access) // Payload 1: CSS Injection Vector using javascript: protocol [go-night-pro-shortcode margin='10px; background: url(javascript:alert(1))'] // Payload 2: Breaking out of the HTML attribute context [go-night-pro-shortcode margin="10px" onmouseover="alert('CVE-2026-1886')"]

影响范围

Go Night Pro <= 1.1.0

防御指南

临时缓解措施
建议立即将插件更新至修复了此漏洞的最新版本。如果无法立即更新,应暂时禁用该插件,并严格限制低权限用户(如投稿人、作者)的内容发布权限,确保所有内容发布前经过管理员审核。此外,可在服务器端部署WAF规则,拦截针对'margin'属性的恶意脚本注入尝试。

参考链接

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