The researchers believe it affects all VPN applications when they’re connected to a hostile network and that there are no ways to prevent such attacks except when the user’s VPN runs on Linux or Android.
Once again, Linux with a win!
Partially. The summary isn’t quite in line with the detail:
Android is the only operating system that fully immunizes VPN apps from the attack because it doesn’t implement option 121. For all other OSes, there are no complete fixes. When apps run on Linux there’s a setting that minimizes the effects, but even then TunnelVision can be used to exploit a side channel that can be used to de-anonymize destination traffic and perform targeted denial-of-service attacks.
I disagree with one of their points
Network firewalls can also be configured to deny inbound and outbound traffic to and from the physical interface. This remedy is problematic for two reasons: (1) a VPN user connecting to an untrusted network has no ability to control the firewall and (2) it opens the same side channel present with the Linux mitigation.
Sure, they can’t control the network firewall, but why would you do that when you can change your local firewall? Set an iptables rule to drop all traffic going out the physical interface that isn’t destined for the VPN server. I’m 70% sure some vpn clients do this automatically.
ProtonVPN client on Linux has killswitch. I had to reinstall Ubuntu due to that, since it stopped network connectivity outside of VPN even when I wanted to.
Really interesting. Dhcp optional routes overriding VPN tunnel routing rules.
Dang option 121.
I told him 120 options was enough, but he just had to keep adding options.
120 options should be enough for anyone.
119 is too few and 121 is too many.
120 options is too many, we should make standard that works for everyone
I’ll quote you in the future like Bill Gates when he said 640K memory is enough.
Any vpn solution that uses a TCP/IP shim in full tunnel mode will ignore option 121 or any other routing options (static routes, etc). Most corporate VPNs like Global Protect/Cisco Any Connect, Appgate, etc will enforce full-tunnel. Any user who is using a VPN for privacy reasons should also use a full tunnel as well especially when connecting to an untrusted networks.
Why doesn’t my internet look like that stock image tunnel of 1 and 0?
Skill issue
deleted by creator
I dunno, tunnel vision is when you can’t see outside the tunnel. The problem is you apparently can.
Edit: Oh, do they mean you can see into the tunnel? That sort of makes more sense.
Linux and android unaffected, go figure. Anyway…
Not quite what the article says:
When apps run on Linux there’s a setting that minimizes the effects, but even then TunnelVision can be used to exploit a side channel that can be used to de-anonymize destination traffic and perform targeted denial-of-service attacks. Network firewalls can also be configured to deny inbound and outbound traffic to and from the physical interface. This remedy is problematic for two reasons: (1) a VPN user connecting to an untrusted network has no ability to control the firewall and (2) it opens the same side channel present with the Linux mitigation.
It only works if you have split tunnel setup, which I don’t think anybody does for commercial privacy VPNs
Do you mean the attack only works against people with a split tunnel setup?
Yes
So basically don’t be stupid when on a network you don’t control. I mean I would think that would be common sense by now. Just because you’re on a VPN doesn’t mean that the local network doesn’t have some semblance of capabilities.
And maybe I read it wrong, but perhaps don’t use DHCP on a network you don’t control. Wouldn’t that wholly mitigate this?
I get that this is concerning for people who don’t know any better. But I don’t think it’s as devastating as the title makes it sound.
how would you not use DHCP when connecting to coffee shop wifi?
How did nobody discover this sooner if it is a common network option? This seems like it should have been well known to professionals. Who dropped the ball?
Your vpn should be running on a middlebox and have firewall rules to prevent leaks.