Removal of kill switch from our iOS app due to Apple IP leak issue
Releases By Juraj Hilje | By Viktor Vecsei | Posted on August 1, 2023
When using Apple services on iOS 16+, a VPN connection does not fully protect your privacy against Apple. Even with an active VPN connection and kill switch enabled, traffic from your iOS 16+ device to Apple servers can leak outside the VPN tunnel and expose your local IP address to Apple. For this reason, during the next release we are removing the kill switch feature from the IVPN iOS app. Connections to non-Apple servers are not vulnerable to this leak, thus general privacy benefits of your VPN connection are unaffected.
Leak issue
During recent tests of Apple’s ‘includeAllNetworks’ feature, also known as kill switch, we found that the functionality is not working as expected, leading to some traffic leaking outside the VPN tunnel to Apple’s servers.
This means that, even when the VPN is connected, using Apple’s services like Apple Maps or Apple Push Notifications may result in traffic bypassing the VPN tunnel, allowing Apple servers you connect to to see the user’s local IP address.
Background
The iOS VPN bypass issue was initially discovered in iOS 13.3.1. To resolve the problem, Apple introduced the ‘includeAllNetworks’ feature in iOS 14+, which was designed to force all network traffic through the VPN tunnel.
Recent tests conducted by security researchers revealed that on iOS 16.1+ devices, network traffic to Apple’s servers still leaks outside the VPN tunnel, even when ‘includeAllNetworks’ is enabled.
Next steps by IVPN
In our next iOS app release, we will remove the kill switch feature for iOS 16+ devices. This step is required to avoid providing a false sense of security to customers.
The feature will continue to be available for iOS 15 devices, as we have confirmed that ‘includeAllNetworks’ works effectively on those devices.
Further, we are filing a bug report with Apple and will closely monitor this issue in future iOS versions.
Suggest an edit on GitHub.