- Oct 9, 2016
- 6,034
70% of VPN Chrome Extensions Leak Your DNS
Last updated: April 2, 2018
John Mason
We tested 15 VPNs and 10 of them were causing DNS leaks through their Chrome browser extensions. This research was put together with the help of TheBestVPN.com & File Descriptor – ethical hacker from Cure53.
Intro
Google Chrome has a feature called DNS Prefetching(DNS Prefetching - The Chromium Projects) which is an attempt to resolve domain names before a user tries to follow a link.
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.
The Problem
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 a 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, an 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.
Test Your VPN For DNS Leaks
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 (john@thebestvpn.com) and we’ll update the list.
Affected VPNs That We’ve Tested (2nd of April):
VPNs That Don’t Leak
Solution/Fix
Users who want to protect themselves should follow the remediation:
70% of VPN Chrome Extensions Leak Your DNS | TheBestVPN.com
Last updated: April 2, 2018
John Mason
We tested 15 VPNs and 10 of them were causing DNS leaks through their Chrome browser extensions. This research was put together with the help of TheBestVPN.com & File Descriptor – ethical hacker from Cure53.
Intro
Google Chrome has a feature called DNS Prefetching(DNS Prefetching - The Chromium Projects) which is an attempt to resolve domain names before a user tries to follow a link.
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.
The Problem
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 a 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, an 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_scriptmode 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:- Manual Prefetch
- DNS Prefetch Control
- Omnibox
Test Your VPN For DNS Leaks
To test if your VPN is vulnerable, do the following test:
- Activate the Chrome plugin of your VPN
- Go to chrome://net-internals/#dns
- Click on “clear host cache”
- Go to any website to confirm this vulnerability
If you find a VPN that is not listed, but leaks – please send us a screenshot (john@thebestvpn.com) and we’ll update the list.
Affected VPNs That We’ve Tested (2nd of April):
- Hola VPN
- OperaVPN
- TunnelBear
- HotSpot Shield
- Betternet
- PureVPN
- VPN Unlimited
- ZenMate VPN
- Ivacy VPN
- DotVPN
VPNs That Don’t Leak
- WindScribe
- NordVPN
- CyberGhost
- Private Internet Access
- Avira Phantom VPN
Solution/Fix
Users who want to protect themselves should follow the remediation:
- 1. Navigate to chrome://settings/ in the address bar
- 2. Type “predict” in “Search settings”
- 3. Disable the option “Use a prediction service to help complete searches and URLs typed in the address bar” and “Use a prediction service to load pages more quickly”
70% of VPN Chrome Extensions Leak Your DNS | TheBestVPN.com
Last edited: