This repository is a mirror of https://git.openwrt.org/openwrt/openwrt.git It is for reference only and is not active for check-ins. We will continue to accept Pull Requests here. They will be merged via staging trees then into openwrt.git.
Other
20.54k
stars
10.56k
forks
source link
FS#4160 - Leaking host IP addresses to unrelated dnsmasq instances #9145
Device problem occurs on
All openWRT devices with version 20+. Tested on raspberry pi, x86_64 and xiaomi mi aiot router
Software versions of OpenWrt/LEDE release, packages, etc.
Multiple, including snapshot r18191-b92a9f607b
Steps to reproduce
Create multiple dnsmasq instances by creating 'main' and 'guest' configs in /etc/config/dhcp
in the 'main' instance, create static host, set the option 'dns' to '1' and the option 'instance' to 'main'
restart the dnsmasq
both dnsmasq instances will run, but they will include configuration option "addn-hosts /tmp/hosts"
the file /tmp/hosts/dhcp.guest will have no static records, the /tmp/hosts/dhcp.main will have the record from step 2
connect to the guest network, try to resolve the record from step 2 (e.g. server.mainlan)
Problem: the resolver will work as the addn-hosts folder is shared with both instances. This "leaks" the dns responses to the guest lan from the main lan and vice-versa, despite this is not wanted.
I created a pull request with dirty workaround - changed the HOSTFILE variable in a way that it will create a separate directory (/tmp/hosts/dhcp/main/main and /tmp/hosts/dhcp/guest/guest), working around the problem - no more shared folders.
sanchosk:
Supply the following if possible:
Device problem occurs on All openWRT devices with version 20+. Tested on raspberry pi, x86_64 and xiaomi mi aiot router
Software versions of OpenWrt/LEDE release, packages, etc. Multiple, including snapshot r18191-b92a9f607b
Steps to reproduce
Problem: the resolver will work as the addn-hosts folder is shared with both instances. This "leaks" the dns responses to the guest lan from the main lan and vice-versa, despite this is not wanted. I created a pull request with dirty workaround - changed the HOSTFILE variable in a way that it will create a separate directory (/tmp/hosts/dhcp/main/main and /tmp/hosts/dhcp/guest/guest), working around the problem - no more shared folders.