谨慎添加未知来源的 MCP 服务器。
先关注,不迷路
免责声明
请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该文章仅供学习用途使用。
漏洞介绍
Cherry Studio在v1.5.1及之前版本中,MCP客户端在HTTP Streamable模式下与OAuth服务器交互时,未对服务器返回的authorization_endpoint
参数进行安全校验,将其直接传递给 open 函数。当服务器返回一个包含恶意命令的字符串时,open 函数会将其作为系统命令执行,导致命令注入漏洞。攻击者可通过构造恶意URL,诱导用户连接恶意MCP服务器,触发命令注入,进而执行任意系统命令。
影响范围
受影响版本:1.2.5 ≤ Cherry Studio ≤ 1.5.1
漏洞复现
环境搭建
下载1.5.1受影响的Cherry Studio
https://github.com/CherryHQ/cherry-studio/releases/tag/v1.5.1
下载 安装
启动一个恶意mcp 服务
保存,一旦使用就会触发
POC:
https://gist.github.com/superboy-zjc/0c3c1a593b8a66cfac92d23b722a4f1d#file-exp-as-py
漏洞分析
https://github.com/CherryHQ/cherry-studio/commit/6f73e93
通过在调用 open 函数前,使用 sanitizeUrl 函数对授权端点URL进行无害化处理。此操作能够有效过滤URL中的非法协议和危险字符,从而阻断恶意命令的执行,防止命令注入漏洞。
没有回复内容