製品・ソフトウェアに関する情報
lfprojectsのMCP Registryにおける複数の脆弱性
Title lfprojectsのMCP Registryにおける複数の脆弱性
Summary

MCPレジストリはMCPクライアントに対してMCPサーバーのリストを提供し、MCPサーバーのためのアプリストアのような役割を果たします。バージョン1.7.7以前では、GET / で提供されるパブリックカタログのUI(ファイル internal/api/handlers/v0/ui_index.html)が、公開された任意のserver.jsonのserver.websiteUrlフィールドを介した保存型クロスサイトスクリプティング(XSS)に対して脆弱でした。サーバー側の検証(internal/validators/validators.go内のvalidateWebsiteURL)はURLが解析可能で絶対URLでありhttpsスキームを使用していることのみをチェックし、引用符文字を拒否しません。クライアント側では、その値が独自のescapeHtmlヘルパーを使ってtextContentからinnerHTMLへと変換され、二重引用符で囲まれたhref属性に埋め込まれます。HTMLのシリアライズアルゴリズムによれば、この変換はテキストノード内の &, , , U+00A0 のみをエンコードし、"や'はエンコードしません。したがって、websiteUrl内のリテラルの"はhref属性から抜け出し、同じa要素に任意のon*イベントハンドラを追加可能になります。/ に設定されたContent-Security-Policyはscript-src 'self' 'unsafe-inline' https://cdn.tailwindcss.comであるため、注入されたイベントハンドラは実行されます。自身のGitHubアカウントでPOST /v0/auth/github-atを使うか、あるいは匿名認証が有効なデプロイメントでPOST /v0/auth/noneを通じて公開トークンを取得可能なユーザーはこの脆弱性を利用し、レジストリのホームページの訪問者全員に見える汚染されたレコードを設置できます。この脆弱性はバージョン1.7.7で修正されました。

Possible impacts 当該ソフトウェアが扱う情報の一部が外部に漏れる可能性があります。 また、当該ソフトウェアが扱う情報の一部が書き換えられる可能性があります。 さらに、当該ソフトウェアは停止しません。 そして、この脆弱性を悪用した攻撃により、他のソフトウェアにも影響が及ぶ可能性があります。 
Solution

正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。

Publication Date May 14, 2026, midnight
Registration Date May 18, 2026, 11:22 a.m.
Last Update May 18, 2026, 11:22 a.m.
CVSS3.0 : 警告
Score 5.4
Vector CVSS:3.0/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
Affected System
lfprojects
MCP Registry 1.7.7 未満
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
ベンダー情報
Change Log
No Changed Details Date of change
1 [2026年05月18日]
  掲載
May 18, 2026, 11:22 a.m.

NVD Vulnerability Information
CVE-2026-44429
Summary

The MCP Registry provides MCP clients with a list of MCP servers, like an app store for MCP servers. Prior to 1.7.7, the public catalogue UI served at GET / (file internal/api/handlers/v0/ui_index.html) is vulnerable to stored cross-site scripting via the server.websiteUrl field of any published server.json. Server-side validation in internal/validators/validators.go (validateWebsiteURL) only checks that the URL parses, is absolute, and uses the https scheme; it does not reject quote characters. Client-side, the value is interpolated into a double-quoted href attribute via innerHTML, using a homegrown escapeHtml helper that performs the standard textContent → innerHTML round-trip. Per the HTML serialisation algorithm, that round-trip encodes only &, <, > and U+00A0 inside text nodes — it does not encode " or '. A literal " in websiteUrl therefore breaks out of the href attribute, allowing arbitrary on* event handlers to be appended to the same <a> element. The Content-Security-Policy on / is script-src 'self' 'unsafe-inline' https://cdn.tailwindcss.com, so the injected event handlers execute. Any user able to obtain a publish token (e.g. via POST /v0/auth/github-at with their own GitHub account, or POST /v0/auth/none on a deployment that has anonymous auth enabled) can plant a poisoned record visible to every visitor of the registry homepage. This vulnerability is fixed in 1.7.7.

Publication Date May 15, 2026, 6:16 a.m.
Registration Date May 17, 2026, 4:10 a.m.
Last Update May 16, 2026, 2:52 a.m.
Affected software configurations
Configuration1 or higher or less more than less than
cpe:2.3:a:lfprojects:mcp_registry:*:*:*:*:*:*:*:* 1.7.7
Related information, measures and tools
Common Vulnerabilities List