# CrawlChat Discord Bot 知识权限漏洞
## 概述
CrawlChat 是一个开源的 AI 驱动平台,可将技术文档转化为智能聊天机器人。在版本 0.0.8 之前,其 Discord 机器人缺少权限校验,导致非管理员用户可向知识库中添加恶意内容。
## 影响版本
0.0.8 之前的版本
## 细节
CrawlChat 的 Discord 机器人通过 `jigsaw` 表情将消息链保存至知识库。但在处理该操作时,未检查用户是否具有如 MANAGE_GUILD 或 MANAGE_MESSAGES 等管理权限,致使任意服务器成员均可触发内容存入知识库。
## 影响
普通用户可向知识库注入恶意内容,进而操控机器人在所有集成渠道中的回复行为,例如诱导用户访问恶意网站或将信息发送给恶意账户。
是否为 Web 类漏洞: 未知
判断理由:
| # | POC 描述 | 源链接 | 神龙链接 |
|---|
标题: Release v0.0.8 · crawlchat/crawlchat · GitHub -- 🔗来源链接
标签:x_refsource_MISC
神龙速读:
从这个网页截图中,以下是从发布说明中获取到的关于可能影响系统安全性的关键信息:
- **功能更新与集成**:引入了Turnstile的集成 (#245),以及在浅色主题下加载Turnstile (#246)。这些更新可能涉及到与第三方服务的交互,需要关注是否存在跨站请求伪造(CSRF)或跨站脚本(XSS)的风险。
- **页面与内容管理**:添加了案例研究页面 (#247),包括案例研究卡片的封装 (#248)。这些改动可能涉及到用户生成内容(UGC)的处理,需注意防止XSS注入和内容安全策略(CSP)的合规性。
- **应用逻辑与数据处理**:修复了Remotion开源描述的措辞 (#250),在消息模型中添加了answerId字段,并更新了关联逻辑 (#252)。这些变化可能影响数据的完整性和一致性,需要注意是否存在数据操纵的风险。
- **界面与用户体验**:嵌入了小工具主题 (#253),并加载初始主题并返回 (#254)。这些调整可能影响前端资源的加载,需要关注资源加载过程中是否存在泄漏敏感信息的可能。
- **性能优化与错误修复**:修复了页面加载时的水合问题 (#255),以及其他PR评论的修复 (#256)。这类调整有助于提升应用的稳定性和响应速度,需确认修复是否彻底,防止遗留的安全隐患。
- **文件上传功能增强**:支持更多文件格式上传 (#259),并增加文件上传部分以上传更多文件 (#261)。对于文件上传功能,必须严格检查文件类型和内容,防止恶意文件上传导致的服务器攻击。
- **其它安全相关更新**:删除了展示类别和相关Markdown文件 (#262),清理了自托管页面并添加标记服务 (#269),以及为Discord机器人添加权限检查以学习知识 (#270)。这些变动主要涉及代码库和依赖项的管理,应审查删除的文件和添加的服务,确保没有遗留安全问题。
标题: Discord Bot: Knowledge Permission vulnerability · Advisory · crawlchat/crawlchat · GitHub -- 🔗来源链接
标签:x_refsource_CONFIRM
神龙速读:
## 漏洞关键信息
### 概要
- **标题**: Discord Bot: Knowledge Permission vulnerability
- **CVE ID**: CVE-2026-23875
- **严重性**: 中等
- **发布者**: pskd73
- **发布时间**: 昨天
### 影响的版本和修复版本
- **受影响版本**: < v0.0.7
- **已修复版本**: > v0.0.8
### 描述
#### 摘要
一个不存在的权限检查导致Discord机器人允许非管理员guild用户在Knowledge知识库中放置恶意内容。
#### 详细信息
通常,Discord guild的管理员或版主会使用绿色勾号表情将特定消息(链)保存到CrawlChat集合的知识库中。遗憾的是,没有对例如MANAGE_SERVER、MANAGE_MESSAGES等的权限检查,允许guild的普通用户向bot提供的信息中添加内容。通过操纵一些问题中共同被授予的权限,用户可以操纵bot提供的内容(在所有集成中),例如:
- 重定向用户到恶意站点
- 传输敏感信息给恶意用户
例如,对其添加管理员、管理服务器等的权限检查可以解决这一漏洞。
#### 证据(PoC)
1. 将CrawlChat机器人邀请到Discord guild中。
2. 将CrawlChat集合链接到特定的guild上。
3. 使用无管理权限的Discord账户登录(例如:管理服务器、管理员等)。
4. 撰写恶意(或用于测试的正常)消息,并用绿色勾号表情进行反馈。
5. 等待机器人对绿色勾号做出反馈。
6. 检查Knowledge的用户界面查看消息是否已添加到知识库中。
### 影响
所有安装了Discord bot的guild中的用户 / 团队 / 集合。
标题: Add permission check for learn knowledge for discord bot (#270) · crawlchat/crawlchat@f90ebb9 · GitHub -- 🔗来源链接
标签:x_refsource_MISC
神龙速读:
可以从该网页截图中获取以下关于漏洞的关键信息:
- **漏洞类型**:权限检查缺失
- **修复措施**: 添加权限检查以防止未授权用户使用学知识功能
- **相关变更文件**: discord-bot/src/index.ts
- **变更描述**:
- 添加了 `PermissionsBitField` 导入语句
- 在消息反应事件 `messageReactionAdd` 中,检查用户是否具有管理员或管理消息的权限
```markdown
### 关键漏洞信息
- **类型**: 权限检查缺失
- **修复**: 添加权限验证防止未授权访问
- **变更文件**: `discord-bot/src/index.ts`
- **描述**:
- **修复措施**:
- 导入 `PermissionsBitField`
- 在 `messageReactionAdd` 事件处理函数中检查用户权限
- **代码改动**:
- 检查用户权限 `Administrator`, `ManageGuild`, `ManageMessages`
- 若无权限则记录警告日志并返回
```
暂无评论