CVE-2026-0621CVE-2026-0621是Anthropic公司MCP TypeScript SDK中的一个高危拒绝服务漏洞。该SDK在处理RFC 6570规范的URI模板时,使用动态生成的正则表达式进行URI匹配。然而,这些正则表达式存在嵌套量词问题,当处理特制的爆炸数组模式(exploded array patterns)时,会触发灾难性回溯(catastrophic backtracking)现象。攻击者可以通过构造恶意的URI路径,利用此漏洞导致Node.js进程的CPU资源被耗尽,从而造成服务不可用。由于该SDK被广泛应用于AI模型上下文协议的实现中,此漏洞可能影响多个依赖该SDK的应用程序和服务。攻击者无需任何认证权限即可发起攻击,且可以通过网络远程利用,危害极大。
该漏洞位于MCP TypeScript SDK的UriTemplate类中,具体问题出在处理RFC 6570定义的exploded array patterns时使用的正则表达式生成逻辑。正则表达式中包含嵌套量词(如(a+)+或(a*)*),当输入字符串包含大量重复字符时,正则引擎会尝试所有可能的匹配组合,导致指数级的时间复杂度增长。攻击者只需提供一个精心构造的URI(如包含大量重复字符的路径参数),即可触发ReDoS条件。在Node.js环境下,这会导致单线程事件循环被阻塞,使得整个服务进程变得无响应。由于MCP SDK通常作为服务端组件运行,此漏洞可被用于对AI助手服务进行拒绝服务攻击。