首页
社区
课程
招聘
[分享]MCP协议安全:mcp-remote存在远程代码执行漏洞(CVE-2025-6514)
发表于: 1天前 158

[分享]MCP协议安全:mcp-remote存在远程代码执行漏洞(CVE-2025-6514)

1天前
158

漏洞名称mcp-remote存在远程代码执行漏洞
产品名称mcp-remote
产品简介mcp-remote是一个MCP代理工具,被Cloudflare、Auth0、Hugging Face等平台广泛使用
影响版本V0.0.5~V0.1.15
漏洞编号CVE-2025-6514
漏洞成因mcp-remote对authorizationServerUrl的不安全处理,导致攻击者能够通过命令注入实现远程代码执行
危害等级高危
利用条件受影响的mcp-remote请求外部未知MCP服务器
漏洞危害攻击者能够远程接管目标服务主机
安全建议1.安全自查;2.及时升级mcp-remote版本到最新;3.限制MCP服务器的连接范围;4.强制加密通信


mcp-remote 是一款广泛使用的 MCP 代理工具,其应用场景覆盖 Cloudflare、Auth0、Hugging Face 等知名平台,累计下载及使用次数已超 43 万次。

该工具目前存在一项高危安全漏洞,编号为 CVE-2025-6514,CVSS 评分为 9.6/10(满分 10 分),显示其具备极高危险性。

具体而言,攻击者可通过构造恶意 MCP 服务,当受害者连接该恶意服务时,漏洞会被触发,允许攻击者执行任意命令,极端情况下可实现对受害者系统的完全接管。


01组件概述

mcp-remote 是一个MCP代理工具,可以让原本只支持本地连接的MCP客户端能够与远程MCP服务器进行交互。

目前,mcp-remote作为MCP生态的重要组成部分,下载量已超过 43 万次,其应用场景覆盖 Cloudflare、Auth0、Hugging Face 等知名平台。

(图1 mcp-remote实现本地和远程MCP服务器通信)


02漏洞描述

mcp-remote 版本V0.0.5 ~ V0.1.15 存在远程代码执行漏洞(CVE-2025-6514),该漏洞源于mcp-remote 对authorizationServerUrl的不安全处理逻辑。

具体来说,当远程 MCP 服务器返回 401(未授权)状态时,mcp-remote 会启动授权流程,本意是引导用户完成身份验证。但在此过程中,工具会直接将服务器返回的 authorizationServerUrl作为系统命令参数执行,且未做任何安全校验。

这使得当mcp-remote版本在0.0.5至0.1.15之间时,攻击者可以通过构造包含恶意命令的authorizationServerUrl实现攻击。


03漏洞危害

攻击者通过实施远程代码执行漏洞(CVE-2025-6514),可能导致的危害如下:

    1. 实现未授权的代码执行;

    2. 在目标服务器中设置后门,窃取重要敏感信息;

    3. 破坏系统运行状态,如触发系统崩溃等。


04漏洞利用场景

透过mcp-remote的业务流程及漏洞描述,我们可以明确相关的两个漏洞利用场景。

1. mcp-remote 连接到外部恶意的MCP服务器

攻击者可以事先在MCP服务管理器中部署一个恶意MCP服务,等待“鱼儿”上钩。当企业内部工作人员通过mcp-remote去连接该MCP 服务时,就会被漏洞利用。这类攻击场景,类似钓鱼邮件、水坑攻击,极易让攻击者绕过企业外部防火墙进入到内网,然后实施破坏。

(图2  mcp-remote连接远程恶意MCP服务器)

2. mcp-remote与远程MCP服务器之间的流量被劫持

由于mcp-remote与远程MCP服务器之间的通信协议默认为http,而http流量是未加密的,极易被攻击者通过流量抓取等手段劫持被篡改,实施中间人攻击。

(图3  mcp-remote与远程MCP服务器通信流量被劫持)


05漏洞成因刨析

本例中分析的组件源码版本为v0.1.12。

在mcp-remote/dist/chunk-CYX6C3U3.js文件中,可以看到当event.code等于401时,会触发未授权处理流程,即进入_authThenStart()方法。

而在_authThenStart()方法中的关键函数是auth()。auth()函数是漏洞利用并触发的关键流程。

auth()函数如下所示,其主要流程是处理 OAuth 授权逻辑,核心目的是完成客户端与授权服务器之间的身份验证流程,最终返回授权状态或引导用户跳转授权页面。

整体流程可以分为如下几个关键步骤:

1. 确定authorizationServerUrl;(authorizationServerUrl的值从远程MCP服务器响应内容中获得)

2. 通过discoverOAuthMetadata从authorizationServerUrl获取OAuth 相关元数据metadata;

3. 通过Promise.resolve 获得 provider.clientInformation()的数据,即MCP客户端的信息;

4. 基于前面的信息,通过registerClient来注册获取授权;

5. 如果授权不成功,则刷新token,继续后续流程;

6. 调用 startAuthorization 生成授权页面 URL(authorizationServerUrl)

7. 通过provider.redirectToAuthorization 引导用户跳转到授权页面。


漏洞代码出现在上述的6、7步,具体如下所示。

其中 startAuthorization ()获取元数据metadata的authorization_endpoint,并生成授权url。

其中provider.redirectToAuthorization ()会采用open方法直接打开前面生成的授权url。

open 方法用来执行系统命令,但是这里缺少对输入参数的过滤,这导致如果authorization_endpoint包含一个恶意命令,系统也会执行。

这里对前面的分析进行总结,可得到如下结论:

本地MCP通过mcp-remote访问远程MCP服务,在初始化访问过程中如果远程MCP服务返回401,则会触发mcp-remote的auth()函数处理未授权处理逻辑。auth()函数从远程MCP服务中通过discoverOAuthMetadata获得元数据metadata,其中包含authorizationServerUrl,然后通过startAuthorization基于authorizationServerUrl直接构造授权URL,最后通过provider.redirectToAuthorization使用系统函数open来执行授权URL。


(图4  mcp-remote漏洞利用流程)


06安全建议

基于上述分析,我们建议相关企业应立即采取以下措施:

首先,开展全面自查,确保自身的MCP协议不受到该漏洞影响;

其次,及时升级mcp-remote 组件,确保其版本不低于0.1.16;

然后,本地MCP在连接远程MCP服务时,应确保MCP服务器地址是可信的;

最后,由于MCP通信的协议为HTTP,应强制加密,避免中间人攻击。


07参考资料

d90K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6B7k6Y4u0G2k6#2)9J5k6h3y4G2L8g2)9J5c8X3u0D9L8$3N6Q4x3V1j5J5x3o6t1#2i4K6u0V1y4U0f1I4y4q4)9J5k6r3y4J5K9i4c8A6j5$3q4D9i4K6u0V1L8h3y4H3i4K6u0V1M7X3g2E0L8%4c8W2i4K6u0V1M7X3y4W2i4K6u0V1N6Y4g2D9L8X3g2J5j5h3u0A6L8r3W2@1P5b7`.`.

96fK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6J5k6i4y4W2j5i4u0U0K9q4)9J5k6h3A6X3M7X3!0Y4i4K6u0W2j5$3!0E0i4K6u0r3N6Y4g2D9L8X3g2J5j5h3u0A6L8r3W2@1K9h3g2K6i4K6u0r3L8h3y4H3i4K6u0V1M7X3g2E0L8%4c8W2i4K6u0V1j5$3!0E0L8h3q4F1k6q4)9J5k6r3W2F1K9X3g2U0N6r3W2G2L8W2)9J5k6s2u0U0k6g2)9J5k6r3A6X3M7$3q4Q4x3X3b7J5x3o6t1#2i4K6u0V1x3o6l9I4x3U0V1H3z5o6b7@1

7ffK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6Y4k6h3g2D9k6h3&6Q4x3V1k6E0j5%4m8Q4x3X3c8J5k6h3#2G2N6r3g2Q4x3V1k6U0L8$3#2E0K9i4c8Q4x3V1j5$3x3o6N6T1x3U0t1$3j5e0x3#2y4X3y4T1y4U0q4S2x3U0x3&6k6X3k6S2j5X3p5J5k6X3t1K6k6r3t1I4j5K6W2V1k6h3p5@1j5X3q4U0


结语

mcp-remote 作为本地LLM客户端通信远程MCP服务器并获取工具的中间跳板,其存在CVE-2025-6514漏洞,暴露出当前MCP生态尚存在安全短板。

mcp-remote应用十分广泛,从业务层面上讲,其推动了大模型应用的落地,但是mcp-remote的安全漏洞也可能异化为跨场景攻击通道,导致安全风险向关联平台业务链渗透,威胁整体安全性。

价值层面,该漏洞暴露工具普及度与安全强度的失衡 ——连接能力的规模化需以同等安全底座为前提。修复不仅是技术补丁,更是维护 MCP 生态远程化信任基石的关键,确保连接价值与风险可控的动态平衡。



[培训]Windows内核深度攻防:从Hook技术到Rootkit实战!

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回