Google Chrome has a feature called DNS Prefetching(https://www.chromium.org/deve
It’s a solution to reduce latency delays of DNS resolution time by predicting what websites a user will mostly likely visit next by pre-resolving the domains of those websites.
When using a VPN browser extensions, Chrome provides two modes to configure the proxy connections, fixed_servers and pac_script.
In fixed_servers mode, an extension specifies the host of an HTTPS/SOCKS proxy server and later all connections will then go through the proxy server.
In pac_script mode on the other hand, an extension provides a PAC script which allows dynamically changing the HTTPS/SOCKS proxy server’s host by various conditions. For example, a VPN extension can use a PAC script that determines if a user is visiting Netflix by having a rule that compares the URL and assigns a proxy server that is optimized for streaming. The highly dynamic nature of PAC scripts means the majority of VPN extensions use the mode pac_script over fixed_servers.
“Now, the issue is that DNS Prefetching continues to function when pac_script mode is used. Since HTTPS proxy does not support proxying DNS requests and Chrome does not support DNS over SOCKS protocol, all prefetched DNS requests will go through the system DNS. This essentially introduces DNS leak.”
There are 3 scenarios that trigger DNS Prefetching:
The first two allow a malicious adversary to use a specifically crafted web page to force visitors to leak DNS requests. The last one means when a user is typing something in the URL address bar (i.e. the Omnibox), the suggested URLs made by Chrome will be DNS prefetched. This allows ISPs to use a technology called “Transparent DNS proxy” to collect websites the user frequently visits even when using browser VPN extension.
To test if your VPN is vulnerable, do the following test:
If you find a VPN that is not listed, but leaks – please send us a screenshot (email@example.com) and we’ll update the list.
Users who want to protect themselves should follow the remediation:
This research was put together with the help of File Descriptor – ethical hacker from Cure53.
P.S. Note that online DNS leak test services like dnsleaktest.com are unable to detect this kind of DNS leak because the DNS requests are only issued under specific circumstances.
The Original post is available at here
(Security Affairs – Chrome Extensions, hacking)