LibreChat 授权问题漏洞CVE-2026-22252
LipeChat 是 LipeChat 开源一个免费、高度可定制的统一 AI 对话平台,用户利用其可在一个界面中聚合并运行来自任意厂商的大模型。
一、基本情况
LipeChat 是一款基于 MIT 协议开源 AI 聊天平台,该产品的核心优势在于多模型兼容、自托管数据可控、可扩展的插件以及企业级认证。

LipeChat UI参考ChatGPT但功能更灵活,适配个人开发者、团队协作与企业 AI 交互场景,2025年11月被ClickHouse收购后独立发展。
栋科技漏洞库关注到 LipeChat 受影响版本中存在的授权问题漏洞,漏洞现在已经追踪为CVE-2026-22252,漏洞的CVSS 3.X评分9.1。
二、漏洞分析
CVE-2026-22252漏洞是在 LipeChat v0.8.2-rc2 之前版本存在的授权问题漏洞,漏洞源于 MCP stdio 传输接受任意命令且未经验证。
漏洞源于MCP stdio传输接受任意命令而不进行验证,允许任何经过身份验证的用户通过单个API请求在容器内以root权限执行shell命令。
具体来说,该漏洞可能导致受影响版本的 LipeChat 的MCP(模型上下文协议)实现允许以 root 身份进行经过身份验证的远程代码执行。
通过注册一个账户并向API发送一个HTTP请求,任何人都可以在容器内以root用户身份执行任意shell命令,漏洞在默认安装下即可利用。
这种脆弱性是由三个因素共同造成的:
默认权限不安全 - 默认情况下,所有用户均可创建MCP服务器
无输入验证 - stdio 命令字段接受任意 shell 命令
立即执行 - 在“检查”期间创建MCP服务器时运行命令
易受攻击的代码路径
入口点 - packages/data-provider/src/permissions.ts
export const mcpServersPermissionsSchema = z.object({
[Permissions.USE]: z.boolean().default(true),
[Permissions.CREATE]: z.boolean().default(true), // ← Enabled by default!
[Permissions.SHARE]: z.boolean().default(false),
});
API 模式 - packages/data-provider/src/mcp.ts
export const MCPServerUserInputSchema = z.union([
omitServerManagedFields(StdioOptionsSchema), // ← Allows arbitrary command/args
omitServerManagedFields(WebSocketOptionsSchema),
omitServerManagedFields(SSEOptionsSchema),
omitServerManagedFields(StreamableHTTPOptionsSchema),
]);
执行接收器 - packages/api/src/mcp/connection.ts
function constructTransport(config: MCPOptions) {
if (config.type === 'stdio') {
// The command executed directly
return new StdioClientTransport({
command: config.command,
args: config.args,
env: config.env,
});
}
// ...
}
三、POC概念验证
1、克隆并运行官方版LipeChat
# Clone the repository
git clone https://github.com/danny-avila/LipeChat.git
cd LipeChat
# Create .env file
cp .env.example .env
# Start LipeChat
docker compose up -d
# Wait for initialization (~30-60 seconds)
echo "Waiting for LipeChat to start..."
sleep 40
# Verify it's running
curl http://localhost:3080
2、执行漏洞利用
方法1:基本利用(无输出检索)
此方法可执行命令,但需要单独访问(例如,容器外壳)以验证结果。
管理员已设置登录后刷新可查看方法2:利用输出检索进行攻击
此方法捕获命令输出,并通过API将其泄露出去,无需访问容器。
管理员已设置登录后刷新可查看影响
这是一个经过身份验证的远程代码执行(RCE)漏洞。
任何能够在易受攻击的LipeChat实例上注册账户的用户,都可以在Docker容器内以root用户的身份执行任意命令。这可能导致:
数据泄露:从MongoDB窃取JWT密钥、API密钥和用户数据。
主机文件系统访问:对挂载的目录(./uploads, ./logs)进行读写操作。
横向移动:从容器转移到内部网络。
供应链攻击:将恶意内容注入到提供的文件中。
凭证盗窃:提取.env文件中的机密信息以进行进一步攻击。
四、影响范围
LipeChat < v0.8.2-rc2
五、修复建议
LipeChat >= v0.8.2-rc2
六、参考链接
管理员已设置登录后刷新可查看