|
2 | 2 |
|
3 | 3 | ## Supported Versions |
4 | 4 |
|
5 | | -| Version | Supported | |
6 | | -| ------- | ------------------ | |
7 | | -| latest | :white_check_mark: | |
| 5 | +| Version | Supported | |
| 6 | +| ------- | --------- | |
| 7 | +| latest | ✅ | |
8 | 8 |
|
| 9 | +## Scope |
9 | 10 |
|
10 | | -## Reporting a Vulnerability |
| 11 | +**In scope** — please report these: |
| 12 | + |
| 13 | +- Authentication bypass in standard (LLAT) or OAuth mode |
| 14 | +- OAuth mode: XSS, SSRF, token leakage, open redirect |
| 15 | +- Prompt injection paths that circumvent tool-level safeguards |
| 16 | + (e.g., HA entity data triggering unintended tool calls) |
| 17 | +- Privilege escalation within the MCP tool surface |
| 18 | +- Unintended information disclosure via API responses |
| 19 | +- Dependency vulnerabilities with a credible exploit path |
| 20 | + |
| 21 | +**Out of scope** — these will not be actioned: |
| 22 | + |
| 23 | +- Vulnerabilities in Home Assistant itself → |
| 24 | + report to [home-assistant/core](https://github.com/home-assistant/core/security) |
| 25 | +- Vulnerabilities in Nabu Casa or other remote access infrastructure |
| 26 | +- Attacks requiring physical access to the HA host |
| 27 | +- "The LLM performed a destructive action using valid, authorized tools" — |
| 28 | + this is a configuration or usage issue, not a security vulnerability. |
| 29 | + Tool visibility controls (`ENABLED_TOOL_MODULES`, group toggles) exist for this purpose. |
| 30 | +- Vulnerabilities that are only exploitable due to a misconfigured deployment |
| 31 | + (e.g., standard-mode instance exposed to the internet without TLS) |
| 32 | + |
| 33 | +## OAuth Mode — Beta Warning |
11 | 34 |
|
12 | | -Use the page at https://github.com/homeassistant-ai/ha-mcp/security/ |
| 35 | +The OAuth consent-flow mode (`ha-mcp-oauth` entrypoint) is **experimental** |
| 36 | +and carries a larger attack surface than the standard LLAT setup. |
| 37 | + |
| 38 | +- Not recommended for production without TLS and network access restrictions |
| 39 | +- Requires explicit opt-in (`ha-mcp-oauth`); the default entrypoint is unaffected |
| 40 | +- CVEs were published and fixed in v7.x (XSS: GHSA-pf93-j98v-25pv; |
| 41 | + SSRF: GHSA-fmfg-9g7c-3vq7). Upgrade to the latest release before deploying. |
| 42 | + |
| 43 | +If you choose to run OAuth mode, restrict the consent endpoint to trusted networks |
| 44 | +and place it behind a TLS-terminating reverse proxy. |
| 45 | + |
| 46 | +## Reporting a Vulnerability |
13 | 47 |
|
14 | | -Reports will be assessed within 48 hours. Fixes may take an additional 24–48 hours. |
| 48 | +Use the private reporting page at: |
| 49 | +**https://github.com/homeassistant-ai/ha-mcp/security/advisories/new** |
15 | 50 |
|
16 | | -Reports **must be made in good faith** and accurately reflect the real severity and impact of the vulnerability. |
17 | | -Overstated, exaggerated, misleading, or speculative reports will be deprioritized or rejected. |
| 51 | +Reports are assessed within 48 hours; fixes may take an additional 24–48 hours. We aim for coordinated disclosure and will work with you to agree on a disclosure timeline, typically within 90 days of the initial report. |
| 52 | +Severity is assessed using CVSS base scores where applicable. |
18 | 53 |
|
19 | | -Low-quality or AI-generated submissions that do not demonstrate a real, reproducible security issue may take longer to process or be closed without action. |
| 54 | +**Requirements for a valid report:** |
| 55 | +- Reports must be made in good faith |
| 56 | +- Demonstrate a real, reproducible issue with steps to reproduce |
| 57 | +- Accurately reflect severity and impact — overstated reports are deprioritized |
| 58 | +- Low-quality or AI-generated submissions without a working proof of concept |
| 59 | + will be closed without action |
0 commit comments