High, CVSS 8.2npmAmendedPublished
appium-mcp: Unescaped Locator Data XSS in MCP-UI Resource (createLocatorGeneratorUI)
CVE-2026-58500 · GHSA-x975-rgx4-5fh4
- Affected
- npm appium-mcp <= 1.85.9
- Fixed in
- 1.85.10· Vendor fix available
- Issue
- Unescaped Locator Data XSS in MCP-UI Resource (createLocatorGeneratorUI) Summary appium-mcp's createLocatorGeneratorUI function interpolates attacker-controlled element attributes — text, content-desc, resource-id, and locator selector values — directly into an HTML template literal without any HTML or JavaScript context escaping. An attacker who controls the UI of the app under test can inject arbitrary HTML and JavaScript into the MCP UI resource returned by the generatelocators tool. When a victim's MCP client renders this resource, the injected script executes and can invoke arbitrary MCP tools via window.parent.postMessage, leading to unauthorized MCP tool execution such as taking screenshots, reading page source, or any other registered capability. Details The vulnerability is a stored/reflected cross-site scripting (XSS) issue in the MCP UI generation pipeline. Vulnerable sink — src/ui/mcp-ui-utils.ts:730–740: None of element.text, element.contentDesc, element.resourceId,…
Recommended action: Upgrade to 1.85.10 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.