Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Some apps on Android don't use Connlib DNS sentinels #4834

Open
jamilbk opened this issue Apr 30, 2024 · 6 comments
Open

Some apps on Android don't use Connlib DNS sentinels #4834

jamilbk opened this issue Apr 30, 2024 · 6 comments
Assignees
Labels
area/android_client Issues related to the Android client business_value/high Required by > 50% of our customer base kind/bug Something isn't working kind/feedback Issue created as a direct result of customer feedback

Comments

@jamilbk
Copy link
Member

jamilbk commented Apr 30, 2024

It looks like some apps on Android are not using the DNS sentinel set by connlib in the BuildVPNService function, and are instead using the DNS servers from the WiFi interface instead.

Apps that work fine:

  • Chrome

Apps that don't:

  • AndroDNS on Android is not using the 100.100.111.1 Sentinel
  • ODK-Collect app may not be using the 100.100.111.1 Sentinel either

Some things to note:

  • AlwaysOn VPN is enabled
  • Block traffic not going through the VPN is enabled (set by MDM)
@jamilbk jamilbk added kind/bug Something isn't working area/android_client Issues related to the Android client business_value/high Required by > 50% of our customer base labels Apr 30, 2024
@jamilbk
Copy link
Member Author

jamilbk commented Apr 30, 2024

They seem to be using the DNS servers from the WiFi interface

@jamilbk jamilbk added the kind/feedback Issue created as a direct result of customer feedback label May 1, 2024
@ReactorScram
Copy link
Collaborator

Same as this? https://news.ycombinator.com/item?id=40247604

https://mullvad.net/en/blog/dns-traffic-can-leak-outside-the-vpn-tunnel-on-android

We were recently made aware of multiple potential DNS leaks on Android. They stem from bugs in Android itself, and only affect certain apps.

@jamilbk
Copy link
Member Author

jamilbk commented May 5, 2024

Yeah I saw that. I don't think it's the same issue, but need to triage further.

One thing of note is that the offending apps are installed directly via APK. Not sure if that's a clue.

@jamilbk
Copy link
Member Author

jamilbk commented May 10, 2024

Able to reproduce using the following steps:

@jamilbk
Copy link
Member Author

jamilbk commented May 10, 2024

The problem with AndroDNS is they have their DNS server detection code which doesn't correctly use the servers set by our VPN service:

https://github.com/gryphius/androdns/blob/master/app/src/main/java/androdns/android/leetdreams/ch/androdns/DnsServersDetector.java#L156

@jamilbk
Copy link
Member Author

jamilbk commented May 17, 2024

Another issue is that when "Block connections that don't go through the VPN" is enabled, Android stops using the VPN DNS servers for lookups and instead uses the servers from the default network interface instead.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/android_client Issues related to the Android client business_value/high Required by > 50% of our customer base kind/bug Something isn't working kind/feedback Issue created as a direct result of customer feedback
Projects
None yet
Development

No branches or pull requests

3 participants