Skip to main content

TunnelVision – Selective Denial-of-Service Vulnerability

Illustration of TunnelVision – Selective Denial-of-Service Vulnerability
Mateusz Lewczak

Introduction

During a recent security audit, I identified that the tested VPN was vulnerable to a known implementation flaw referred to as TunnelVision (CVE-2024-3661). This vulnerability affects how routing tables are managed by certain VPN services, particularly in the way they interact with DHCP protocols. The discovered flaw allows an attacker to reroute selected traffic outside of the intended VPN tunnel. This bypass can potentially expose user data or, specifically under Windows, cause a selective denial-of-service (DoS) scenario. This article describes in detail how the vulnerability can be triggered, demonstrates a practical proof-of-concept, and provides mitigation recommendations.

Technical description

TunnelVision terminate DHCP Option 121, known as the Classless Static Route Option. Normally, VPN software ensures that all user traffic is safely directed through an encrypted VPN tunnel. However, due to improper handling of routing information provided via DHCP, it is possible for an attacker operating a malicious access point to insert incorrect routing information into a victim’s routing table.

When this happens, specific network traffic, chosen by the attacker, is no longer sent through the secure VPN tunnel but instead directly onto the local network. This allows a local attacker, for instance someone operating a public WiFi hotspot, to intercept, manipulate, or block this traffic. Under Windows, the direct consequence observed was the inability of the client to access certain network resources, resulting in selective denial-of-service for targeted websites or services.

Proof-of-Concept

To illustrate the severity of TunnelVision, a controlled test environment was established. This environment consisted of a computer running Ubuntu 22.04 with one Ethernet interface connected to the internet and one WiFi interface used as an attacker-controlled access point. The detailed steps used in the test were presented below.

Initially, an ISC DHCP server was installed and started:

DHCP server installation

Next, the attacker configured the Ubuntu system as a rogue WiFi access point using hostapd. The WiFi interface was enabled and given a local network address:

WiFi access point configuration

Then, IP forwarding and NAT (Network Address Translation) rules were set up to enable traffic forwarding from WiFi to the internet-connected Ethernet interface:

IP forwarding and NAT setup

The critical component was modifying the DHCP server configuration file (/etc/dhcp/dhcpd.conf) to issue manipulated route information using DHCP Option 121:

DHCP Option 121 configuration

Here, traffic destined for the IP address of ifconfig.me test service would bypass the VPN tunnel. After restarting the DHCP server, the WiFi access point was activated:

WiFi access point activation

A Windows device running the vulnerable VPN software was connected to this rogue access point. With the VPN enabled, attempts to reach “ifconfig.me” resulted in a connection error:

Connection error demonstration

This outcome confirmed the selective denial of service, where the designated host was inaccessible due to improper routing caused by TunnelVision.

Impact of the Vulnerability

The practical consequence of TunnelVision varies slightly depending on the client platform. On Windows systems, the immediate result is typically a selective denial-of-service, where specific traffic becomes inaccessible. However, the underlying routing flaw also theoretically allows attackers to capture unencrypted traffic directed outside of the VPN. Consequently, sensitive data could potentially be intercepted or manipulated. The attack requires minimal resources and is achievable by anyone operating a malicious WiFi network, significantly increasing its threat level.

Recommendations

Mitigating TunnelVision involves securing the way VPN clients handle DHCP provided routing information. VPN providers should ensure routing tables are strictly controlled and validated. As an immediate protective measure, clients should implement firewall or packet filter rules that disallow outgoing traffic except through the VPN interface. These measures ensure no traffic can inadvertently bypass the VPN tunnel, thus maintaining network security and integrity.

By implementing these measures and promptly updating vulnerable VPN software, the risk posed by TunnelVision can be significantly reduced or entirely neutralized. The vulnerability described herein was thoroughly validated during testing, and all technical details have been carefully verified to ensure their accuracy and correctness.

Other Insights

Illustration of Privilege Escalation through Docker group membership and… sudo backdoor?

Privilege Escalation through Docker group membership and… sudo backdoor?

Dominik Antończak

During a security audit, a high-risk vulnerability was discovered in an environment where a user named "securitum_insider_user" held membership in the docker group. This membership, combined with specific misconfigurations in the operating system, allowed for privilege escalation to root-level access. Once root privileges were obtained, I deployed a custom script that captured sudo passwords from unsuspecting users on the same host. Although no sensitive information was ultimately retrieved beyond those credentials, this demonstrates how even seemingly small permission oversights can compromise an entire system.

READ article
Illustration of Two-Step Exploit: From Initial Request to Complete Admin Takeover

Two-Step Exploit: From Initial Request to Complete Admin Takeover

Mateusz Lewczak

During a penetration test of a desktop application's backend interface, a critical flaw was identified that allows unauthenticated users to execute SQL queries by sending specially crafted requests. Although the backend was intended to restrict unauthenticated queries to simple SELECT statements on a specific configuration table, the actual implementation failed to properly validate the structure and scope of those queries. As a result, it is possible to use SQL injection techniques, specifically the UNION operator to extract sensitive data from unrelated tables in the database.

READ article
A professional cybersecurity consultant ready to assist with your inquiry.

Any questions?

Happy to get a call or email
and help!