MCP Registry Stored Cross-Site Scripting Vulnerability

Vulnerability

A stored cross-site scripting vulnerability has been identified in the MCP Registry catalogue UI, prior to version 1.7.7. The issue arises in the 'server.websiteUrl' field of published 'server.json' files. The vulnerability is due to inadequate server-side validation of URLs, which only ensures that they are absolute, parse correctly, and use the 'https' scheme, without rejecting quote characters. This allows for the injection of event handlers into 'href' attributes, exploiting the Content-Security-Policy to execute scripts. Users with a publish token can introduce malicious URLs that are visible to all registry homepage visitors.

Impact

Exploitation of this vulnerability leads to stored cross-site scripting on the MCP Registry homepage. The injected script executes when a user expands the corresponding entry, triggering any attached event handlers. Additionally, the vulnerability allows for manipulation of 'localStorage' items related to the registry, execution of same-origin or cross-origin XMLHttpRequests, and phishing for Registry JWTs by injecting fake authentication flows on the trusted origin.

Reproduction

To reproduce this vulnerability, first obtain a Registry JWT by exchanging a GitHub personal access token through the MCP Registry authentication endpoint. Once the token is acquired, publish a server entry with a 'websiteUrl' that includes a literal quote character, breaking out of the 'href' attribute context. After publishing, visit the MCP Registry homepage, locate the published entry, and expand it to trigger the injected event handler.

Remediation

Users are advised to update to MCP Registry version 1.7.7 or later, where this vulnerability has been fixed.

Added: May 14, 2026, 9:47 PM
Updated: May 14, 2026, 9:47 PM

Vulnerability Rating

Custom Algorithm
spread
0.0
impact
1.7
exploitability
5.8
remediation
0.0
relevance
8.3
threat
6.4
urgency
2.9
incentive
0.0

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.