IPBUF安全漏洞报告
English
CVE-2026-27570 CVSS 6.1 中危

CVE-2026-27570 Discourse SharedAiConversation XSS漏洞

披露日期: 2026-03-19

漏洞信息

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

相关标签

XSSDiscourseWeb安全CVE-2026-27570存储型XSS

漏洞概述

Discourse开源讨论平台在特定版本中存在跨站脚本(XSS)漏洞。由于SharedAiConversation模型的onebox方法在渲染对话标题时未进行适当的清理和转义,攻击者可以利用该漏洞在标题中注入恶意HTML/JavaScript代码。当用户访问并查看包含恶意标题的对话页面时,脚本将在受害者浏览器中执行,从而可能导致用户会话劫持或敏感信息泄露。

技术细节

该漏洞源于Discourse处理AI对话共享功能的SharedAiConversation模型中的onebox方法。在渲染对话标题时,系统直接将用户可控的标题内容插入到HTML页面中,未经过HTML实体编码或过滤。攻击者可以构造包含恶意脚本(如<script>标签或事件处理属性)的对话标题。由于CVSS向量显示攻击无需认证(PR:N)且通过网络(AV:N),攻击者可诱导受害者访问相关链接。一旦受害者浏览器加载了该页面,注入的脚本即被执行。由于作用域为S:C(改变了作用域),该漏洞可能影响同一浏览器上下文下的其他页面,导致机密性和完整性受损。

攻击链分析

STEP 1
1. 漏洞利用准备
攻击者创建一个新的SharedAiConversation或利用现有对话,将对话标题修改为包含恶意JavaScript代码的内容(例如<img src=x onerror=alert('XSS')>)。
STEP 2
2. 数据存储
Discourse服务器接收该标题并将其存储在数据库中。由于未经过滤,恶意载荷被原样保存。
STEP 3
3. 诱导访问
攻击者诱导受害者访问包含该对话onebox预览的页面链接。
STEP 4
4. 触发漏洞
当受害者浏览器渲染页面时,onebox方法读取未清理的标题并直接插入HTML。
STEP 5
5. 执行攻击
受害者的浏览器解析注入的恶意脚本,导致代码在受害者上下文中执行,窃取Cookie或执行恶意操作。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// PoC Concept for CVE-2026-27570 // The vulnerability is in the 'title' field of a SharedAiConversation. // An attacker crafts a conversation title with a malicious payload. // Example Payload to put in the AI Conversation Title: const payload = '<img src=x onerror=alert(1)>'; // When the 'onebox' renders this conversation on the forum, // it outputs the title directly into the HTML. // If the user views this, the alert box will trigger, proving XSS. console.log(`Inject this into the conversation title: ${payload}`);

影响范围

Discourse < 2026.3.0-latest.1
Discourse < 2026.2.1
Discourse < 2026.1.2

防御指南

临时缓解措施
如果暂时无法升级,建议通过修改站点设置`ai_bot_public_sharing_allowed_groups`,限制允许公开共享AI对话的用户组,从而收紧访问权限并降低风险。

参考链接

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