Skip to content

Regular Expression Denial of Service (ReDoS) in UriTemplate

High
pcarleton published GHSA-cqwc-fm46-7fff Jan 7, 2026

Package

npm @modelcontextprotocol/sdk (npm)

Affected versions

<1.25.2

Patched versions

1.25.2

Description

Impact

A ReDoS vulnerability in the UriTemplate class allows attackers to cause denial of service. The partToRegExp() function generates a regex pattern with nested quantifiers (([^/]+(?:,[^/]+)*)) for exploded template variables (e.g., {/id*}, {?tags*}), causing catastrophic backtracking on malicious input.

Who is affected: MCP servers that register resource templates with exploded array patterns and accept requests from untrusted clients.

Attack result: An attacker sends a crafted URI via resources/read request, causing 100% CPU utilization, server hang/crash, and denial of service for all clients.

Affected Versions

All versions of @modelcontextprotocol/sdk prior to the patched release.

Patches

v1.25.2 contains b392f02 the fix modifies the regex pattern to prevent backtracking.

Workarounds

  • Avoid using exploded patterns ({/id*}, {?tags*}) in resource templates
  • Implement request timeouts and rate limiting
  • Validate URIs before processing to reject suspicious patterns

References

Severity

High

CVE ID

CVE-2026-0621

Weaknesses

No CWEs

Credits