Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGain local-network access
-
DeliveryBroadcast spoofed _ipp._tcp.local mDNS announcement
-
ExploitIPP integration auto-fetches attacker host
-
ExecutionServer returns redirect to 127.0.0.1
-
PersistClient follows redirect to internal service
-
ImpactReach otherwise-unreachable loopback endpoint
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Credential Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires the attacker to be on the same local network segment as the Home Assistant instance (AV:A) in order to send the crafted |
| Impact | This is a genuine but moderate-severity issue whose real-world risk is bounded primarily by the adjacent-network attack vector. The CVSS 3.1 vector (AV:A/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N = 5.4) is internally consistent with the description: exploitation is unauthenticated (PR:N) and needs no user interaction (UI:N), but the attacker must be on the same local network segment to emit the crafted mDNS announcement (AV:A) - this is NOT internet-remote SSRF, which materially limits exposure. No EPSS score, no CISA KEV listing, and no public exploit were provided in the input, so this is not a confirmed exploitation priority. The impact is deliberately scoped as low (C:L/I:L, A:N): the SSRF lets an attacker coerce the Home Assistant HTTP client into reaching loopback/internal services via attacker-controlled redirects, but the response handling is limited to printer-metadata retrieval rather than full read/write of arbitrary internal responses. The signals are consistent (no conflict between CVSS and description), and the vendor has confirmed both the root cause and the fix, so treat this as a patch-in-normal-cycle item for exposed/shared-network deployments rather than an emergency. |
| Exploit ScenarioDerived | An attacker on the same LAN as a Home Assistant instance broadcasts a spoofed |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 22, 2026
Server-side request forgery in the Home Assistant IPP integration allows an attacker on the same local network to coerce the platform's shared HTTP client into issuing requests to loopback or other internal services, affecting Home Assistant Core versions prior to 2026.2.3. The attacker needs only to broadcast a crafted unauthenticated _ipp._tcp.local mDNS announcement whose host, port, and base_path values are consumed by async_step_zeroconf in homeassistant/components/ipp/config_flow.py, which then hands them to validate_input for printer metadata retrieval; the shared aiohttp client followed cross-origin redirects without blocking loopback targets, so no prior IPP configuration, no authentication (PR:N), and no user interaction (UI:N) are required. Impact is bounded by the adjacent-network vector (AV:A) and by the constrained confidentiality and integrity effects of the coerced internal request - no public exploit code has been identified at time of analysis and the issue is not confirmed actively exploited (CISA KEV); exploitation conditions are local-network only, not internet-reachable. Fixed in 2026.2.3.
RemediationAI
Vendor-released patch: upgrade Home Assistant Core to 2026.2.3 or later (https://github.com/home-assistant/core/releases/tag/2026.2.3), which applies the SSRFRedirectError middleware in homeassistant/helpers/aiohttp_client.py and blocks cross-origin redirects to loopback/unspecified addresses; the release notes and advisory GHSA-4ghv-53cq-7wp3 should be reviewed alongside the upgrade. If immediate upgrading is not possible, the most direct compensating control is to disable or remove the IPP integration (or at minimum disable its Zeroconf discovery) so that unauthenticated _ipp._tcp.local announcements are never routed into async_step_zeroconf - the trade-off is loss of IPP printer discovery/functionality and any other integrations relying on the shared client's redirect behavior remain unpatched. Network-level mitigation: place the Home Assistant instance on a segmented VLAN or restrict its outbound reachability to loopback/internal services and management interfaces, and restrict inbound mDNS traffic to trusted hosts - this reduces the adjacent-network blast radius but does not remove the vulnerable code path and can interfere with legitimate local device discovery. Because the root cause is generic redirect following in the shared HTTP client, any mitigation that only filters mDNS at the switch or router should be treated as a temporary compensating measure, not a fix; priority should be given to applying 2026.2.3.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in pypi, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The vulnerability class is CWE-918 (Server-Side Request Forgery). Home Assistant's IPP (Internet Printing Protocol) integration relies on Zeroconf/mDNS to discover printers on the local network; the mDNS service type _ipp._tcp.local is processed without authentication, which is inherent to mDNS. In homeassistant/components/ipp/config_flow.py, the async_step_zeroconf callback forwarded attacker-controlled host, port, and base_path parameters into validate_input for printer metadata retrieval. The request was dispatched through Home Assistant's shared aiohttp ClientSession defined in homeassistant/helpers/aiohttp_client.py, which by default followed HTTP redirects - including cross-origin redirects from an attacker-controlled origin to loopback (127.0.0.1, ::1) or unspecified addresses, and to internal hostnames such as 'localhost' or 'localhost.' (FQDN trailing-dot bypass). Because the client followed those redirects, an adjacent-network attacker could pivot the outbound request to internal services that are otherwise unreachable from the LAN. The upstream fix introduces an SSRFRedirectError and a _ssrf_redirect_middleware in the shared client: it inspects 3xx responses, permits relative redirects (same host), and blocks absolute redirects whose target is a blocked host, determined first by string checks against 'localhost' and its trailing-dot/endswith variants, then by IP parsing via _is_ssrf_address (loopback or unspecified), and finally by DNS resolution through the new HomeAssistantTCPConnector.async_resolve_host helper so that hostnames resolving to loopback are also rejected. The fix is a general hardening of the shared HTTP client rather than a change isolated to the IPP integration, meaning other integrations using the same session inherit the protection. No CPE strings were supplied in the input; the affected component is identified by repository path homeassistant/components/ipp/config_flow.py and the shared client homeassistant/helpers/aiohttp_client.py.
Know when Python 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
AV:A/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
Adjacent LAN access needed to inject mDNS (AV:A), no auth or interaction (PR:N/UI:N), and SSRF to internal services yields limited read/write impact (C:L/I:L, A:N).
Primary rating from Vendor (github).
CVSS VectorVendor: github
Lifecycle Timeline
2DescriptionCVE.org
Home Assistant is open source home automation software focused on local control and privacy. Prior to 2026.2.3, the IPP integration automatically processed unauthenticated _ipp._tcp.local mDNS announcements in homeassistant/components/ipp/config_flow.py, where async_step_zeroconf passed attacker-controlled host, port, and base_path values to validate_input for printer metadata retrieval. Because the shared HTTP client followed attacker-controlled cross-origin redirects without blocking loopback targets, a local-network attacker could redirect the request to 127.0.0.1 or another internal service without user interaction or prior IPP configuration. This issue is fixed in version 2026.2.3.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.
Wazuh SIEM platform versions 4.4.0 through 4.9.0 contain an unsafe deserialization vulnerability in the DistributedAPI t
BentoML version 1.4.2 and earlier contains an unauthenticated remote code execution vulnerability through insecure deser
pgAdmin 4 contains critical remote code execution vulnerabilities in the Query Tool download and Cloud Deployment endpoi
The renderLocalView function in render/views.py in graphite-web in Graphite 0.9.5 through 0.9.10 uses the pickle Python
BentoML is a Python library for building online serving systems optimized for AI apps and model inference. Rated critica
OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph
pyLoad download manager version prior to 0.5.0b3.dev77 exposes the Flask SECRET_KEY through an unauthenticated endpoint.
Langflow (a visual LLM pipeline builder) contains a critical unauthenticated code execution vulnerability (CVE-2026-3301
In Mercurial before 4.1.3, "hg serve --stdio" allows remote authenticated users to launch the Python debugger, and conse
Unauthenticated remote code execution affects Kestra OSS (the open-source event-driven orchestration platform) prior to
Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/
pyLoad is the free and open-source Download Manager written in pure Python. Rated medium severity (CVSS 5.3), this vulne
EUVD-2026-84804
GHSA-4ghv-53cq-7wp3
NVD
CVE.org
EPSS
Exploit-DB