CVE-2020-36517
📋 TL;DR
This vulnerability allows DNS operators to discover internal network resources through hardcoded DNS resolver configurations in Home Assistant systems. It affects Nabu Casa Home Assistant Operating System and Home Assistant Supervised installations. The information leak exposes internal network topology to external DNS providers.
💻 Affected Systems
- Nabu Casa Home Assistant Operating System
- Home Assistant Supervised
📦 What is this software?
Home Assistant by Home Assistant
⚠️ Risk & Real-World Impact
Worst Case
DNS operators map internal network infrastructure, identify vulnerable internal services, and potentially facilitate lateral movement attacks.
Likely Case
DNS operators gain visibility into internal hostnames, IP addresses, and network structure, enabling reconnaissance for future attacks.
If Mitigated
Limited exposure with proper network segmentation and DNS configuration controls in place.
🎯 Exploit Status
Exploitation requires DNS operator access to observe queries, which is inherent to DNS infrastructure.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 2022.04 and later
Vendor Advisory: https://github.com/home-assistant/plugin-dns/issues/50
Restart Required: Yes
Instructions:
1. Update Home Assistant OS to version 2022.04 or later. 2. Restart the system. 3. Verify DNS configuration respects local settings.
🔧 Temporary Workarounds
Configure Local DNS Resolver
linuxSet up a local DNS resolver to prevent internal queries from being sent to external DNS servers.
Edit DNS configuration to use local resolver IP addresses
🧯 If You Can't Patch
- Implement network-level DNS filtering to block internal queries from reaching external DNS servers.
- Use split-horizon DNS configuration to separate internal and external DNS resolution.
🔍 How to Verify
Check if Vulnerable:
Check if running Home Assistant OS version 2022.03 and verify DNS queries for internal resources are being sent to external DNS servers.
Check Version:
ha os info
Verify Fix Applied:
Confirm system is updated to 2022.04+ and internal DNS queries are resolved locally.
📡 Detection & Monitoring
Log Indicators:
- DNS query logs showing internal hostnames being resolved by external DNS servers
Network Indicators:
- Outbound DNS traffic containing internal domain names to public DNS servers
SIEM Query:
source="dns" AND query="*.local" AND dest_ip IN (8.8.8.8, 1.1.1.1, 9.9.9.9)
🔗 References
- https://community.home-assistant.io/t/ha-os-dns-setting-configuration-not-respected/356572
- https://github.com/home-assistant/plugin-dns/issues/17
- https://github.com/home-assistant/plugin-dns/issues/20
- https://github.com/home-assistant/plugin-dns/issues/22
- https://github.com/home-assistant/plugin-dns/issues/50
- https://github.com/home-assistant/plugin-dns/issues/51
- https://github.com/home-assistant/plugin-dns/issues/53
- https://github.com/home-assistant/plugin-dns/issues/54
- https://github.com/home-assistant/plugin-dns/issues/6
- https://github.com/home-assistant/plugin-dns/issues/64
- https://github.com/home-assistant/plugin-dns/issues/70
- https://github.com/home-assistant/plugin-dns/pull/55
- https://github.com/home-assistant/plugin-dns/pull/56
- https://github.com/home-assistant/plugin-dns/pull/58
- https://github.com/home-assistant/plugin-dns/pull/59
- https://community.home-assistant.io/t/ha-os-dns-setting-configuration-not-respected/356572
- https://github.com/home-assistant/plugin-dns/issues/17
- https://github.com/home-assistant/plugin-dns/issues/20
- https://github.com/home-assistant/plugin-dns/issues/22
- https://github.com/home-assistant/plugin-dns/issues/50
- https://github.com/home-assistant/plugin-dns/issues/51
- https://github.com/home-assistant/plugin-dns/issues/53
- https://github.com/home-assistant/plugin-dns/issues/54
- https://github.com/home-assistant/plugin-dns/issues/6
- https://github.com/home-assistant/plugin-dns/issues/64
- https://github.com/home-assistant/plugin-dns/issues/70
- https://github.com/home-assistant/plugin-dns/pull/55
- https://github.com/home-assistant/plugin-dns/pull/56
- https://github.com/home-assistant/plugin-dns/pull/58
- https://github.com/home-assistant/plugin-dns/pull/59