CVE-2026-30048 - NotChatbot WebChat <= 1.5.0 中的存储型跨站脚本(XSS)漏洞
摘要
@developer.notchatbot/webchat 包版本(最高至并包括 1.5.0)中存在一个存储型跨站脚本(XSS)漏洞。
用户提供的输入在存储并渲染到 AI 驱动的聊天对话历史之前未经过适当的清理。这允许攻击者注入任意 JavaScript 代码,这些代码会在聊天历史被渲染或重新加载时执行。
由于该问题存在于可复用的 WebChat 组件本身,而非单个网站实现中,因此任何集成了受影响包版本的应用都可能受到影响,无论其部署环境如何。
受影响产品
- 供应商: NotChatbot
- 包:
@developer.notchatbot/webchat
- 受影响版本: 最高至并包括
1.5.0
漏洞类型
受影响组件
攻击向量
攻击者可以发送包含恶意 HTML/JavaScript 载荷的精心构造的聊天消息。
该载荷会被存储,并在对话历史再次渲染时执行。
概念验证(PoC)
载荷
视频演示
https://youtu.be/HklaoNKP9H8
复现步骤
- 使用官方包/CDN 集成 WebChat 小部件
- 打开聊天界面
- 将上述载荷作为聊天消息发送
- 重新加载或重新打开对话
- 观察浏览器中 JavaScript 的执行
影响
- 在受害者浏览器中执行任意 JavaScript
- 会话劫持
- 信息泄露
- 根据具体环境可能造成账户接管
根本原因
在聊天历史渲染逻辑中,用户输入未经适当的输出编码或 HTML 清理即被渲染。
建议修复方案
- 在渲染前对用户输入进行清理和转义
- 使用诸如 DOMPurify 之类的安全清理器
- 默认对输出进行编码
- 实施严格的内容安全策略(CSP)
CVE
CVE-2026-30048
参考
发现者
时间线
- 发现时间:2026-01
- CVE 分配时间:2026-03