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

CVE-2026-23875 CrawlChat Discord机器人权限绕过漏洞

披露日期: 2026-01-19

漏洞信息

漏洞编号
CVE-2026-23875
漏洞类型
权限绕过/访问控制缺陷
CVSS评分
5.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
需要交互 (UI:R)
影响产品
CrawlChat

相关标签

CVE-2026-23875权限绕过访问控制Discord机器人CrawlChat知识库注入钓鱼攻击社交工程AI聊天机器人GitHub安全公告

漏洞概述

CrawlChat是一款开源的AI驱动平台,能够将技术文档转换为智能聊天机器人。该平台提供Discord机器人集成,允许Discord服务器管理员通过特定操作将消息保存到知识库中。然而在0.0.8版本之前,CrawlChat的Discord机器人存在严重的权限验证缺陷。具体表现为:当管理员或版主使用`jigsaw`表情符号保存消息到知识库时,系统未正确验证用户是否具备相应权限(如MANAGE_SERVER、MANAGE_MESSAGES等)。这导致任何Discord服务器成员都可以向知识库添加内容,而无需任何特殊权限。攻击者可利用此漏洞向知识库注入恶意内容,操纵聊天机器人向其他用户返回钓鱼链接、恶意软件分发地址或虚假信息,从而实施网络钓鱼攻击或进一步危害用户安全。

技术细节

该漏洞属于典型的访问控制验证缺失问题。在CrawlChat的Discord集成模块中,当接收到带有`jigsaw`表情符号的反应事件时,系统直接处理将相关消息添加到知识库的逻辑,而没有调用权限检查函数验证操作者是否拥有管理权限。攻击者只需要在目标消息上添加`jigsaw`表情符号(或通过其他触发方式),即可将任意消息内容注入到CrawlChat的知识库中。注入的内容会直接影响所有使用该聊天机器人的用户查询结果。由于CrawlChat支持多个集成平台(Discord只是其中之一),恶意内容的影响范围可能波及所有接入的渠道。攻击者通常会针对常见问题区域注入内容,以增加用户受骗的概率。修复版本0.0.8在相关代码路径中添加了权限验证逻辑,确保只有具备管理权限的用户才能修改知识库。

攻击链分析

STEP 1
1.侦察阶段
攻击者寻找已安装CrawlChat Discord机器人的服务器,确认自己是该服务器的成员且不具备管理员权限
STEP 2
2.内容注入
攻击者在服务器中发送包含恶意链接或虚假信息的普通消息,该消息内容看似正常但包含钓鱼链接或欺诈内容
STEP 3
3.触发保存
攻击者在自己发送的消息上添加jigsaw表情符号,或通过其他方式触发机器人的保存机制,将恶意内容添加到知识库
STEP 4
4.权限绕过
由于CrawlChat未验证用户权限(MANAGE_SERVER/MANAGE_MESSAGES),恶意内容成功被添加到知识库中
STEP 5
5.传播影响
当其他用户向机器人询问相关问题时,被污染的恶意内容会被返回,可能包含钓鱼链接、重定向到恶意站点或虚假信息
STEP 6
6.攻击完成
不知情的用户点击钓鱼链接或联系攻击者,导致信息泄露、凭证被盗或进一步被攻击

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// CVE-2026-23875 PoC - CrawlChat Discord Permission Bypass // This PoC demonstrates how a non-admin Discord user can inject content into CrawlChat knowledge base // Step 1: Join a Discord server where CrawlChat bot is installed const Discord = require('discord.js'); const client = new Discord.Client(); // Step 2: As a regular user (without MANAGE_SERVER or MANAGE_MESSAGES permissions) // send a message containing malicious content const maliciousContent = ` This is a phishing message. For more information visit: http://malicious-site.com Or contact: [email protected] `; // Step 3: Add the 'jigsaw' emoji reaction to your own message // The bot will interpret this as a request to add content to knowledge base client.on('messageReactionAdd', async (reaction, user) => { if (reaction.emoji.name === '🧩') { // Without proper permission check, the bot will add the message to knowledge base console.log('Content added to knowledge base without permission check'); } }); // Alternative: Send DM to bot with content (if bot supports it) async function injectMaliciousContent() { const bot = client.users.find(u => u.username === 'CrawlChat'); await bot.send(maliciousContent); } // Step 4: When other users query the bot, they receive the injected malicious content // This can redirect users to phishing sites or expose sensitive information // Note: This vulnerability was patched in version 0.0.8 // Fixed code should check: message.member.hasPermission('MANAGE_MESSAGES') || // message.member.hasPermission('MANAGE_SERVER')

影响范围

CrawlChat < 0.0.8

防御指南

临时缓解措施
立即将CrawlChat升级到0.0.8版本以获取官方安全修复。在升级前,可以考虑暂时禁用Discord机器人的知识库保存功能,或限制只有受信任的管理员才能使用相关功能。同时监控知识库内容的变更,及时发现和清除已注入的恶意内容。建议通知用户对于来自聊天机器人的链接保持警惕,避免直接点击。

参考链接

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