CVE-2026-32112

ha-mcp has XSS via Unescaped HTML in OAuth Consent Form

Published Mar 11, 2026 CVSS 3.1 · 6.8 Medium EPSS < 1% KEV · Not listed
Description
ha-mcp is a Home Assistant MCP Server. Prior to 7.0.0, the ha-mcp OAuth consent form renders user-controlled parameters via Python f-strings with no HTML escaping. An attacker who can reach the OAuth endpoint and convince the server operator to follow a crafted authorization URL could execute JavaScript in the operator's browser. This affects only users running the beta OAuth mode (ha-mcp-oauth), which is not part of the standard setup and requires explicit configuration. This vulnerability is fixed in 7.0.0.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-pf93-j98v-25pv ha-mcp has XSS via Unescaped HTML in OAuth Consent Form
History
Type Values Removed Values Added
First Time appeared Homeassistant-ai home Assistant Mcp Server
CPEs cpe:2.3:a:homeassistant-ai:home_assistant_mcp_server:*:*:*:*:*:*:*:*
Vendors & Products Homeassistant-ai home Assistant Mcp Server
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}

Type Values Removed Values Added
First Time appeared Homeassistant-ai
Homeassistant-ai ha-mcp
Vendors & Products Homeassistant-ai
Homeassistant-ai ha-mcp
Type Values Removed Values Added
Description ha-mcp is a Home Assistant MCP Server. Prior to 7.0.0, the ha-mcp OAuth consent form renders user-controlled parameters via Python f-strings with no HTML escaping. An attacker who can reach the OAuth endpoint and convince the server operator to follow a crafted authorization URL could execute JavaScript in the operator's browser. This affects only users running the beta OAuth mode (ha-mcp-oauth), which is not part of the standard setup and requires explicit configuration. This vulnerability is fixed in 7.0.0.
Title ha-mcp has XSS via Unescaped HTML in OAuth Consent Form
Weaknesses CWE-79
References
Metrics cvssV3_1

{'score': 6.8, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Mar 12, 2026, 2:05 PM
Reserved
Mar 10, 2026, 10:02 PM
Status
Analyzed
Published
Mar 11, 2026, 9:16 PM
Modified
Jun 17, 2026, 10:35 AM