IPBUF安全漏洞报告
English
CVE-2026-32607 CVSS 5.4 中危

CVE-2026-32607 Discourse存储型XSS漏洞

披露日期: 2026-03-31

漏洞信息

漏洞编号
CVE-2026-32607
漏洞类型
存储型跨站脚本 (Stored XSS)
CVSS评分
5.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
需要交互 (UI:R)
影响产品
Discourse

相关标签

XSSStored XSSDiscourseCWE-79Web Security

漏洞概述

Discourse开源讨论平台在特定版本中存在存储型XSS漏洞。当启用隐藏设置`prioritize_full_name_in_ux`时,系统在渲染用户和组全名时未进行HTML转义。拥有分配权限的攻击者可注入恶意代码,导致访问受影响主题的用户浏览器执行任意脚本。

技术细节

该漏洞源于Discourse在特定配置下的输入验证缺失。当管理员开启`prioritize_full_name_in_ux`(默认关闭)后,系统会在分配相关的UI界面直接显示用户或组的全名。由于渲染层未对全名字段进行HTML实体编码,攻击者可利用“assign”权限,将用户全名修改为包含JavaScript代码的恶意载荷(如`<img src=x onerror=alert(1)>`)。当该用户被分配给主题时,恶意载荷会随页面加载,在其他查看者的浏览器中解析执行,从而窃取会话凭证或进行进一步攻击。

攻击链分析

STEP 1
1. 前置条件配置
管理员在后台控制台启用了隐藏站点设置 prioritize_full_name_in_ux。
STEP 2
2. 注入恶意载荷
拥有分配权限的攻击者修改个人资料的全名或创建特定组,将名称设置为包含XSS的Payload(如恶意Script标签)。
STEP 3
3. 触发渲染
攻击者将包含恶意全名的用户或组分配给一个讨论主题。
STEP 4
4. 执行攻击
当普通用户或管理员查看该受影响主题时,系统渲染未转义的全名,导致恶意脚本在受害者浏览器中执行。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- PoC Concept: 1. Ensure 'prioritize_full_name_in_ux' is enabled via console. 2. Attacker edits their profile 'Full Name' or creates a Group Name with the following payload: --> <img src=x onerror=alert('CVE-2026-32607')> <!-- 3. Attacker assigns themselves or the group to a topic. 4. Any user viewing the topic will trigger the alert. -->

影响范围

2026.1.0 至 2026.1.3 之前
2026.2.0 至 2026.2.2 之前
2026.3.0-latest 至 2026.3.0 之前

防御指南

临时缓解措施
如果无法立即升级,建议管理员在控制台中禁用 `prioritize_full_name_in_ux` 站点设置,以防止未转义的用户名被渲染,从而阻断攻击链。

参考链接

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