Habr•October 1, 2026•🇷🇺Translated from Russian

Six Months After tun0 Leak: Which Android VPN Clients Fixed Server Address Exposure and Which Ignored It

Six months after widespread reports of VPN server address leaks on Android, an independent analysis shows that only a handful of clients have addressed the issue, while many others either ignored reports or closed them without fixes.

The investigation identifies two separate leaks that are frequently confused. The first occurs when VPN clients expose a local SOCKS proxy on 127.0.0.1 without authentication. Any application can connect to this port and route traffic through the VPN tunnel, revealing the server address even if the app was explicitly excluded from the tunnel. The second leak is independent of proxies and stems from Android’s handling of SO_BINDTODEVICE on the tun interface.

How the tun0 Leak Works

When split tunneling excludes an application, Android removes the route to tun0 for that app’s UID. However, any process can still call setsockopt to bind a socket directly to tun0. The kernel then forwards packets through the interface anyway. The VPN client receives the packet, encrypts it, and sends it to the remote server, exposing the server IP to the destination. No root access or custom code is required; a simple curl command from Termux placed in the exclusion list reproduces the leak.

Testing showed that excluded applications, including the open-source RKNHardering detector, successfully reached the VPN server and recorded its address multiple times.

Client Responses

Most clients addressed only the local proxy issue in April by adding random ports and passwords. AmneziaVPN, TeapodStream and v2rayNG implemented this change, though v2rayNG leaves the protection disabled by default. Karing, Throne and FlClash followed similar approaches.

For the tun0 leak, only two projects implemented proper owner verification. TeapodStream rewrote its tun2socks layer to check every connection with ConnectivityManager.getConnectionOwnerUid. After notification, the developer released version 1.6.6 that correctly rejects packets returning INVALID_UID when exclusions are active. OlConnect performs a similar check but still accepts INVALID_UID in all modes and was unreachable for comment.

sing-box added a package_name_regex rule that can reject unknown owners, but users must insert it manually. AmneziaVPN received a series of pull requests covering both AmneziaWG and the full client stack; none have been merged yet. v2rayNG closed the tun0 report as “not planned.”

No public statements or fixes were found for WireGuard for Android, Mullvad, Proton VPN, IVPN, Cloudflare WARP, Outline, Tailscale, NordVPN, Windscribe, Lantern, Psiphon or OpenVPN for Android.

Users can verify their own client with one Termux command that attempts to reach ifconfig.me through the tun interface while the app is excluded from the VPN.

Related articles

Habr•Vulnerabilities & Exploits

Security Week 2644: Active Exploitation of PHP2Shell Vulnerabilities Confirmed

PHP developers released patches for two critical vulnerabilities collectively known as PHP2Shell on October 20, affecting PHP 8.2 through 8.5 as well as older branches. The flaws allow unauthenticated remote code execution on affected servers, which power approximately 70 percent of websites. Despite expectations of immediate exploitation, confirmed attacks with working exploits only began on October 25. CrowdStrike noted technical difficulties in weaponizing the issues in real-world environments. Only one-fifth of top Russian websites had applied the fixes by October 25. Additional incidents included compromised eMudhra certificates, a critical GitLab flaw, and a 16-year-old Broadcom router vulnerability.

AntiMalware•Vulnerabilities & Exploits

Positive Technologies Offers Up to 500,000 Rubles for Bypassing PT Application Firewall

Positive Technologies has expanded its Standoff Bug Bounty program to include rewards for bypassing its web application firewalls. Researchers can earn between 150,000 and 500,000 rubles for demonstrating practical bypasses against PT Application Firewall PRO and PT Application Firewall Cloud. The program targets the core protective mechanisms, including traffic filtering, attack detection rules, and the management layer used by administrators. Submissions must include reproducible attack scenarios that show how malicious requests can pass through undetected, rather than relying on scanner reports or theoretical findings. Reward amounts vary by severity and confirmed business impact, with critical issues in the PRO version paying up to 500,000 rubles. The company plans to use validated findings to strengthen detection rules and improve overall product resilience.

AntiMalware•Vulnerabilities & Exploits

Tailscale SSH Vulnerability Allows Root Access via Unix Socket Redirection

A researcher identified flaws in Tailscale that let an attacker with existing SSH access on one node escalate to root privileges and move laterally across the network. Erica Windisch of Cyberdione Labs demonstrated the issues in lab conditions against Tailscale 1.104.2 and Headscale 0.29.5. The core problem stems from privileged operations performed by the tailscaled process when handling Unix socket redirection, granting an ordinary SSH session access to root-only resources. The researcher used the technique to interact with Docker and run elevated commands, and showed that broad access policies allow automated lateral movement in under a second. Additional issues include denial-of-service conditions and bypasses of certain restrictions. Recommendations include reviewing SSH policies and disabling unnecessary socket redirection, noting that Headscale 0.29.5 lacks an independent way to turn the feature off.

Security NEXT•Vulnerabilities & Exploits

Critical CVE-2026-111497 Out-of-Bounds Write Flaw in Google Brotli Decoder Impacts Broad Range of Environments

A severe vulnerability has been identified in the Google-developed Brotli decoder used for decompressing data in web communications and other applications. The flaw, tracked as CVE-2026-111497, allows out-of-bounds writes when processing specially crafted compressed data, potentially enabling arbitrary code execution, information disclosure, or denial of service. It carries a CVSS v4.0 base score of 9.2 and is rated Critical. Google has released patched versions 1.2.1, 1.1.1, and 1.0.10 of the library. Node.js incorporated the fix in its updates, while Microsoft issued an out-of-band patch for .NET on October 25, 2026, to address the issue. The vulnerability affects any environment relying on the Brotli C implementation for data decompression.