【复现】Cherry Studio 命令注入漏洞(CVE-2025-54074)

【复现】Cherry Studio 命令注入漏洞(CVE-2025-54074)

前言

近期关于AI的漏洞频发,前两周刚爆出了Cursor的 远程代码执行漏洞(CVE-2025-54135);这两天又出来了一个AI 对话客户端Cherry Studio的命令注入漏洞(CVE-2025-54074);下面对其进行简单的复现。

Cherry Studio是一款支持多个 LLM 提供商的桌面客户端。在 v1.5.1 版本之前,Cherry Studio 在 HTTP Streamable 模式下与恶意 MCP 服务器连接时存在操作系统命令注入漏洞。攻击者可以设置一个兼容 OAuth 授权服务器端点的恶意 MCP 服务器,并诱骗受害者连接该服务器,从而导致易受攻击的客户端遭受操作系统命令注入。

漏洞详情

Cherry Studio 错误地实现了其 mcp 客户端,该客户端会启动 OAuth 服务器元数据发现和动态客户端注册流程,但未能对服务器提供的元数据(例如authorization_endpoint)进行安全过滤。服务器提供的授权端点 URL 随后被传递到一个不安全的open函数调用中。利用 URL 编码绕过技巧,使用 URL 身份验证方案传递有效载荷,可以将任意操作系统命令注入潜伏在受害者的客户端主机中。

易受攻击代码

https://github.com/CherryHQ/cherry-studio/blob/ee32942f7141c932c4ff7facd437b446281a3a0d/src/main/services/mcp/oauth/provider.ts

1
2
3
4
5
6
7
8
9
10
async redirectToAuthorization(authorizationUrl: URL): Promise<void> {
try {
// Open the browser to the authorization URL
await open(authorizationUrl.toString())
Logger.info('Browser opened automatically.')
} catch (error) {
Logger.error('Could not open browser automatically.')
throw error // Let caller handle the error
}
}

image

影响版本

1.2.5 <= Cherry Studio <= 1.5.1

漏洞复现

用flask起一个恶意的MCP Server;让受害者能够弹计算器。

image

启动

1
python3 1.py

image

下载受影响的Cherry Studio

https://github.com/CherryHQ/cherry-studio/releases

添加MCP

image

保存MCP配置

image

使用MCP

image

处置建议

官方已发布安全更新,建议用户尽快升级到安全版本:

Cherry Studio >= 1.5.2

补丁链接:https://github.com/CherryHQ/cherry-studio/releases

修复缓解措施:

排查并断开或禁用未知来源的 MCP 服务器,并谨慎添加新的MCP服务器。

参考

https://github.com/CherryHQ/cherry-studio/security/advisories/GHSA-8xr5-732g-84px

https://mp.weixin.qq.com/s/D9EHfN9G9SKHlXiDlZEabA