CVE-2026-44698 (GCVE-0-2026-44698)
Vulnerability from cvelistv5 – Published: 2026-05-29 13:32 – Updated: 2026-05-29 13:58
VLAI
EPSS
VEX
Title
Home Assistant: Cross-origin iframe access token exfiltration via WebView JS bridge callback injection
Summary
Home Assistant is open source home automation software that puts local control and privacy first. Prior to 2026.4.1 for iOS and 2026.4.4 for Android, he Home Assistant Companion apps for Android and iOS expose a JavaScript bridge to the in-app WebView window.externalApp on Android and webkit.messageHandlers.getExternalAuth (alongside revokeExternalAuth and externalBus) on iOS. Two flaws expose the bridge to all frames (including cross-origin iframes) and unsanitized interpolation of the JavaScript callback identifier allows a cross-origin iframe rendered inside the Companion app to execute arbitrary JavaScript in the Home Assistant frontend's main-frame origin and exfiltrate the signed-in user's access token. This vulnerability is fixed in 2026.4.1 for iOS and 2026.4.4 for Android.
Severity
8.3 (High)
SSVC
Exploitation: none
Automatable: no
Technical Impact: total
CISA Coordinator (v2.0.3)
CWE
Assigner
References
1 reference
| URL | Tags |
|---|---|
| https://github.com/home-assistant/core/security/a… | x_refsource_CONFIRM |
Impacted products
3 products
| Vendor | Product | Version | |
|---|---|---|---|
| home-assistant | core |
Affected:
< 2026.4.4
|
|
| Home Assistant | Companion app (iOS) |
Affected:
< 2026.4.1
|
|
| Home Assistant | Companion app (Android) |
Affected:
< 2026.4.4
|
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-44698",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "total"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-05-29T13:58:46.407095Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-05-29T13:58:53.347Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"product": "core",
"vendor": "home-assistant",
"versions": [
{
"status": "affected",
"version": "\u003c 2026.4.4"
}
]
},
{
"product": "Companion app (iOS)",
"vendor": "Home Assistant",
"versions": [
{
"status": "affected",
"version": "\u003c 2026.4.1"
}
]
},
{
"product": "Companion app (Android)",
"vendor": "Home Assistant",
"versions": [
{
"status": "affected",
"version": "\u003c 2026.4.4"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Home Assistant is open source home automation software that puts local control and privacy first. Prior to 2026.4.1 for iOS and 2026.4.4 for Android, he Home Assistant Companion apps for Android and iOS expose a JavaScript bridge to the in-app WebView window.externalApp on Android and webkit.messageHandlers.getExternalAuth (alongside revokeExternalAuth and externalBus) on iOS. Two flaws expose the bridge to all frames (including cross-origin iframes) and unsanitized interpolation of the JavaScript callback identifier allows a cross-origin iframe rendered inside the Companion app to execute arbitrary JavaScript in the Home Assistant frontend\u0027s main-frame origin and exfiltrate the signed-in user\u0027s access token. This vulnerability is fixed in 2026.4.1 for iOS and 2026.4.4 for Android."
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "HIGH",
"attackVector": "NETWORK",
"availabilityImpact": "HIGH",
"baseScore": 8.3,
"baseSeverity": "HIGH",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"privilegesRequired": "NONE",
"scope": "CHANGED",
"userInteraction": "REQUIRED",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:H",
"version": "3.1"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-94",
"description": "CWE-94: Improper Control of Generation of Code (\u0027Code Injection\u0027)",
"lang": "en",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"cweId": "CWE-346",
"description": "CWE-346: Origin Validation Error",
"lang": "en",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"cweId": "CWE-749",
"description": "CWE-749: Exposed Dangerous Method or Function",
"lang": "en",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"cweId": "CWE-940",
"description": "CWE-940: Improper Verification of Source of a Communication Channel",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-05-29T13:32:20.669Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/home-assistant/core/security/advisories/GHSA-7jp2-p2fw-mgvf",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/home-assistant/core/security/advisories/GHSA-7jp2-p2fw-mgvf"
}
],
"source": {
"advisory": "GHSA-7jp2-p2fw-mgvf",
"discovery": "UNKNOWN"
},
"title": "Home Assistant: Cross-origin iframe access token exfiltration via WebView JS bridge callback injection"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2026-44698",
"datePublished": "2026-05-29T13:32:20.669Z",
"dateReserved": "2026-05-07T17:07:09.316Z",
"dateUpdated": "2026-05-29T13:58:53.347Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"vulnerability-lookup:meta": {
"epss": {
"cve": "CVE-2026-44698",
"date": "2026-08-04",
"epss": "0.00136",
"percentile": "0.03512"
},
"nvd": "{\"cve\":{\"id\":\"CVE-2026-44698\",\"sourceIdentifier\":\"security-advisories@github.com\",\"published\":\"2026-05-29T14:16:28.823\",\"lastModified\":\"2026-07-21T12:10:00.090\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"Home Assistant is open source home automation software that puts local control and privacy first. Prior to 2026.4.1 for iOS and 2026.4.4 for Android, he Home Assistant Companion apps for Android and iOS expose a JavaScript bridge to the in-app WebView window.externalApp on Android and webkit.messageHandlers.getExternalAuth (alongside revokeExternalAuth and externalBus) on iOS. Two flaws expose the bridge to all frames (including cross-origin iframes) and unsanitized interpolation of the JavaScript callback identifier allows a cross-origin iframe rendered inside the Companion app to execute arbitrary JavaScript in the Home Assistant frontend\u0027s main-frame origin and exfiltrate the signed-in user\u0027s access token. This vulnerability is fixed in 2026.4.1 for iOS and 2026.4.4 for Android.\"},{\"lang\":\"es\",\"value\":\"Home Assistant es un software de automatizaci\u00f3n del hogar de c\u00f3digo abierto que prioriza el control local y la privacidad. Antes de 2026.4.1 para iOS y 2026.4.4 para Android, las aplicaciones Home Assistant Companion para Android e iOS exponen un puente JavaScript a la WebView en la aplicaci\u00f3n window.externalApp en Android y webkit.messageHandlers.getExternalAuth (junto con revokeExternalAuth y externalBus) en iOS. Dos fallos exponen el puente a todos los marcos (incluidos los iframes de origen cruzado) y la interpolaci\u00f3n no saneada del identificador de devoluci\u00f3n de llamada de JavaScript permite que un iframe de origen cruzado renderizado dentro de la aplicaci\u00f3n Companion ejecute JavaScript arbitrario en el origen del marco principal del frontend de Home Assistant y exfiltre el token de acceso del usuario autenticado. Esta vulnerabilidad est\u00e1 corregida en 2026.4.1 para iOS y 2026.4.4 para Android.\"}],\"affected\":[{\"source\":\"security-advisories@github.com\",\"affectedData\":[{\"vendor\":\"home-assistant\",\"product\":\"core\",\"versions\":[{\"version\":\"\u003c 2026.4.4\",\"status\":\"affected\"}]},{\"vendor\":\"Home Assistant\",\"product\":\"Companion app (iOS)\",\"versions\":[{\"version\":\"\u003c 2026.4.1\",\"status\":\"affected\"}]},{\"vendor\":\"Home Assistant\",\"product\":\"Companion app (Android)\",\"versions\":[{\"version\":\"\u003c 2026.4.4\",\"status\":\"affected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"security-advisories@github.com\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:H\",\"baseScore\":8.3,\"baseSeverity\":\"HIGH\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"HIGH\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"REQUIRED\",\"scope\":\"CHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.6,\"impactScore\":6.0}],\"ssvcV203\":[{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"ssvcData\":{\"timestamp\":\"2026-05-29T13:58:46.407095Z\",\"id\":\"CVE-2026-44698\",\"options\":[{\"exploitation\":\"none\"},{\"automatable\":\"no\"},{\"technicalImpact\":\"total\"}],\"role\":\"CISA Coordinator\",\"version\":\"2.0.3\"}}]},\"weaknesses\":[{\"source\":\"security-advisories@github.com\",\"type\":\"Secondary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-94\"},{\"lang\":\"en\",\"value\":\"CWE-346\"},{\"lang\":\"en\",\"value\":\"CWE-749\"},{\"lang\":\"en\",\"value\":\"CWE-940\"}]}],\"references\":[{\"url\":\"https://github.com/home-assistant/core/security/advisories/GHSA-7jp2-p2fw-mgvf\",\"source\":\"security-advisories@github.com\"}]}}",
"redhat_vex": {
"current_release_date": "2026-06-05T19:11:58+00:00",
"cve": "CVE-2026-44698",
"id": "CVE-2026-44698",
"initial_release_date": "2026-01-01T00:00:00+00:00",
"product_status:known_not_affected": "1",
"source": "Red Hat CSAF VEX",
"status": "final",
"title": "Home Assistant: Cross-origin iframe access token exfiltration via WebView JS bridge callback injection",
"url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-44698.json",
"version": "3"
},
"vulnrichment": {
"containers": "{\"adp\": [{\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2026-44698\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"total\"}], \"version\": \"2.0.3\", \"timestamp\": \"2026-05-29T13:58:46.407095Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2026-05-29T13:58:49.847Z\"}}], \"cna\": {\"title\": \"Home Assistant: Cross-origin iframe access token exfiltration via WebView JS bridge callback injection\", \"source\": {\"advisory\": \"GHSA-7jp2-p2fw-mgvf\", \"discovery\": \"UNKNOWN\"}, \"metrics\": [{\"cvssV3_1\": {\"scope\": \"CHANGED\", \"version\": \"3.1\", \"baseScore\": 8.3, \"attackVector\": \"NETWORK\", \"baseSeverity\": \"HIGH\", \"vectorString\": \"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:H\", \"integrityImpact\": \"HIGH\", \"userInteraction\": \"REQUIRED\", \"attackComplexity\": \"HIGH\", \"availabilityImpact\": \"HIGH\", \"privilegesRequired\": \"NONE\", \"confidentialityImpact\": \"HIGH\"}}], \"affected\": [{\"vendor\": \"home-assistant\", \"product\": \"core\", \"versions\": [{\"status\": \"affected\", \"version\": \"\u003c 2026.4.4\"}]}, {\"vendor\": \"Home Assistant\", \"product\": \"Companion app (iOS)\", \"versions\": [{\"status\": \"affected\", \"version\": \"\u003c 2026.4.1\"}]}, {\"vendor\": \"Home Assistant\", \"product\": \"Companion app (Android)\", \"versions\": [{\"status\": \"affected\", \"version\": \"\u003c 2026.4.4\"}]}], \"references\": [{\"url\": \"https://github.com/home-assistant/core/security/advisories/GHSA-7jp2-p2fw-mgvf\", \"name\": \"https://github.com/home-assistant/core/security/advisories/GHSA-7jp2-p2fw-mgvf\", \"tags\": [\"x_refsource_CONFIRM\"]}], \"descriptions\": [{\"lang\": \"en\", \"value\": \"Home Assistant is open source home automation software that puts local control and privacy first. Prior to 2026.4.1 for iOS and 2026.4.4 for Android, he Home Assistant Companion apps for Android and iOS expose a JavaScript bridge to the in-app WebView window.externalApp on Android and webkit.messageHandlers.getExternalAuth (alongside revokeExternalAuth and externalBus) on iOS. Two flaws expose the bridge to all frames (including cross-origin iframes) and unsanitized interpolation of the JavaScript callback identifier allows a cross-origin iframe rendered inside the Companion app to execute arbitrary JavaScript in the Home Assistant frontend\u0027s main-frame origin and exfiltrate the signed-in user\u0027s access token. This vulnerability is fixed in 2026.4.1 for iOS and 2026.4.4 for Android.\"}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-94\", \"description\": \"CWE-94: Improper Control of Generation of Code (\u0027Code Injection\u0027)\"}]}, {\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-346\", \"description\": \"CWE-346: Origin Validation Error\"}]}, {\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-749\", \"description\": \"CWE-749: Exposed Dangerous Method or Function\"}]}, {\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-940\", \"description\": \"CWE-940: Improper Verification of Source of a Communication Channel\"}]}], \"providerMetadata\": {\"orgId\": \"a0819718-46f1-4df5-94e2-005712e83aaa\", \"shortName\": \"GitHub_M\", \"dateUpdated\": \"2026-05-29T13:32:20.669Z\"}}}",
"cveMetadata": "{\"cveId\": \"CVE-2026-44698\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2026-05-29T13:58:53.347Z\", \"dateReserved\": \"2026-05-07T17:07:09.316Z\", \"assignerOrgId\": \"a0819718-46f1-4df5-94e2-005712e83aaa\", \"datePublished\": \"2026-05-29T13:32:20.669Z\", \"assignerShortName\": \"GitHub_M\"}",
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
}
}
Loading…
Loading…
Experimental. This forecast is provided for visualization only and may change without notice. Do not use it for operational decisions.
Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
The MITRE ATT&CK techniques below are AI-generated suggestions, inferred from the description of the
vulnerability by the CIRCL/vulnerability-attack-technique-classification-roberta-base
model, served locally by ML-Gateway.
They have not been verified by an analyst and are provided for guidance only.
Loading…
Loading…