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

Brave Leaks ISP DNS While Shields are Enabled #12575

Closed
Balachandarsmr opened this issue Nov 8, 2020 · 12 comments · Fixed by brave/brave-core#7731
Closed

Brave Leaks ISP DNS While Shields are Enabled #12575

Balachandarsmr opened this issue Nov 8, 2020 · 12 comments · Fixed by brave/brave-core#7731

Comments

@Balachandarsmr
Copy link

Balachandarsmr commented Nov 8, 2020

Description

Brave leaks isp dns after enabling secure dns

Steps to reproduce

  1. Select any custom dns provider under privacy settings
  2. Go to https://browserleaks.com/dns
  3. You will see your isp dns as well as selected custom dns server

Actual result

20201108_140224

Expected result

Dns leak test supposed to hide isp dns while using custom dns over https server

Issue reproduces how often

Easily reproduced

Version/Channel Information:

  • Can you reproduce this issue with the current Play Store version?
    No
  • Can you reproduce this issue with the current Play Store Beta version?
    No
  • Can you reproduce this issue with the current Play Store Nightly version?
    Yes

Device details

  • Install type (ARM, x86): ARM 32 Bit
  • Device type (Phone, Tablet, Phablet): Phone
  • Android version: 8.1

Brave version

Nightly 1.18.41

Website problems only

  • Does the issue resolve itself when disabling Brave Shields?
    Yes
  • Does the issue resolve itself when disabling Brave Rewards?
    No
  • Is the issue reproducible on the latest version of Chrome?
    No

Additional information

@Balachandarsmr Balachandarsmr added the OS/Android Fixes related to Android browser functionality label Nov 8, 2020
@bsclifton
Copy link
Member

cc: @samartnik @mkarolin

@samartnik
Copy link
Contributor

it works as expected with shields off, look like we excessively block some scripts on the website

@samartnik samartnik added the webcompat/shields Shields is breaking a website. label Nov 9, 2020
@Balachandarsmr
Copy link
Author

Secure dns detection works with shield @ https://ipleak.net/
https://www.dnsleaktest.com/
But not on other detection sites. Yes it's due shield.

@Balachandarsmr
Copy link
Author

This bug is not fixed yet. Without shield secure dns works. But when shield is on brave leaks isp dns.

@Balachandarsmr Balachandarsmr changed the title Secure dns not working on android nightly Android Brave leaks isp dns when shield is on Dec 5, 2020
@jonathansampson
Copy link
Contributor

jonathansampson commented Jan 14, 2021

This issue impacts Windows users as well. Enabling the same feature in another Chromium-based browser (e.g. Chrome, Opera) shows that Brave deviates from the pack. In Chrome and Opera, https://browserleaks.com/dns lists only the DNS provider configured in the Use Secure DNS browser settings. In Brave, both the user's ISP DNS and Secure DNS are listed.

Tested with the following build:

Brave 1.20.77 Chromium: 88.0.4324.79 (Official Build) nightly (64-bit)
Revision bd1e9353659b2491dac971226a973ca3b5684a14-refs/branch-heads/4324@{#1520}
OS Windows 10 OS Version 2009 (Build 19042.746)
JavaScript V8 8.8.278
User Agent Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.79 Safari/537.36
Command Line "C:\Program Files (x86)\BraveSoftware\Brave-Browser-Nightly\Application\brave.exe" --enable-dom-distiller --disable-domain-reliability --no-pings --extension-content-verification=enforce_strict --extensions-install-verification=enforce --origin-trial-public-key=bYUKPJoPnCxeNvu72j4EmPuK7tr1PAC7SHh8ld9Mw3E=,fMS4mpO6buLQ/QMd+zJmxzty/VQ6B1EUZqoCU04zoRU= --sync-url=https://sync-v2.brave.com/v2 --lso-url=https://no-thanks.invalid --variations-server-url=https://variations.brave.com/seed --enable-features=LegacyTLSEnforced,WebUIDarkMode,WinrtGeolocationImplementation,AutoupgradeMixedContent,PrefetchPrivacyChanges,PasswordImport,ReducedReferrerGranularity --disable-features=PasswordCheck,NetworkTimeServiceQuerying,TextFragmentAnchor,AutofillEnableAccountWalletStorage,SafeBrowsingEnhancedProtection,SignedExchangeSubresourcePrefetch,PrivacySettingsRedesign,NotificationTriggers,WebOTP,IdleDetection,AutofillServerCommunication,TabHoverCards --flag-switches-begin --flag-switches-end

@jonathansampson jonathansampson changed the title Android Brave leaks isp dns when shield is on Brave Leaks ISP DNS While Shields are Enabled Jan 14, 2021
@jonathansampson
Copy link
Contributor

I just tested on macOS, and had the same results as those mentioned above.

@fmarier
Copy link
Member

fmarier commented Jan 14, 2021

Seems to affect all brave-core platforms. I was able to reproduce on Linux too after patching in the DoH settings.

@Bruce-Bane
Copy link

I have the DNS leaking problem. But router DNS is leaking too

I described everything here

https://community.brave.com/t/brave-leaking-dns-servers/191002

@stephendonner
Copy link

stephendonner commented Feb 11, 2021

Verified using the testplan from both brave/brave-core#7731 and inline, here, with the (PRE-FIX) 1.21.50 build, compared to (POST-FIX) 1.20.103, on macOS Big Sur 11.2

_AT&T_ is my internet service provider ("ISP")/DNS-resolver service; Cloudflare is the DNS-over-HTTP ("DoH") provider chosen for this test.

PRE-fix Build:

Brave 1.20.103 Chromium: 88.0.4324.152 (Official Build) (x86_64)
Revision 6579930fc53b4dc589c042bec9d0a3778326974d-refs/branch-heads/4324@{#2106}
  • Verified in Wireshark there were UDP-based DNS-lookup leaks resolving tools.ietf.org
Screen Shot 2021-02-10 at 3 58 56 PM
BEFORE

POST-fix Build:

Brave 1.21.50 Chromium: 88.0.4324.152 (Official Build) beta (x86_64)
Revision 6579930fc53b4dc589c042bec9d0a3778326974d-refs/branch-heads/4324@{#2106}
OS macOS Version 11.2.1 (Build 20D74)
  • Verified in Wireshark there were NO UDP-based DNS-lookup leaks resolving tools.ietf.org
Screen Shot 2021-02-10 at 2 35 12 PM
AFTER

Verification passed on

Brave 1.21.56 Chromium: 88.0.4324.152 (Official Build) dev (64-bit)
Revision 6579930fc53b4dc589c042bec9d0a3778326974d-refs/branch-heads/4324@{#2106}
OS Ubuntu 18.04 LTS

Verified test plan from brave/brave-core#7731

Secure provider with current service provider:
image

Secure provider with Claudflare
image

@LaurenWags
Copy link
Member

Removed QA Pass labels as this was uplifted to 1.20.x

@stephendonner
Copy link

stephendonner commented Feb 19, 2021

Verified PASSED on 1.20.108 using the testplan #12575 (comment) again, on:

Brave | 1.20.108 Chromium: 88.0.4324.182 (Official Build) (64-bit)
Revision73ee5087001dcef33047c4ed650471b225dd8caf-refs/branch-heads/4324@{#2202}
OS | Windows 10 OS Version 2009 (Build 21318.1000)
Brave | 1.20.108 Chromium: 88.0.4324.182 (Official Build) (x86_64)
Revision | 73ee5087001dcef33047c4ed650471b225dd8caf-refs/branch-heads/4324@{#2202}
OS
macOS Version 11.2.1 (Build 20D74)

Windows 10

Case 1: Verified no DNS-lookup leaks for tools.ietf.org with Shields up

12575-windows10-ietf

Case 2: Verified no local (AT&T in my case) ISP's DNS resolver leaked when using DoH (Cloudflare)

12575-dns-leak-tests

macOS 11.2.1 (Big Sur)

Case 1: Verified no DNS-lookup leaks for tools.ietf.org with Shields up

Screen Shot 2021-02-19 at 2 57 28 PM

Case 2: Verified no local (AT&T in my case) ISP's DNS resolver leaked when using DoH (Cloudflare)

Screen Shot 2021-02-19 at 2 02 37 PM

@kjozwiak
Copy link
Member

kjozwiak commented Feb 19, 2021

Verification PASSED on Samsung Galaxy Tablet A running Android 11 using the following build:

1.20.108 CR: 88.0.4324.182
Cloudflare (1.1.1.1) Open DNS Google (Public DNS) Quad9 (9.9.9.9) Clean Browsing (Family Filter)
Screenshot_20210219-171233_Brave Screenshot_20210219-171528_Brave Screenshot_20210219-171629_Brave Screenshot_20210219-171802_Brave Screenshot_20210219-173213_Brave

Verification PASSED on Samsung S10+ running Android 11 using the following build:

1.20.108 CR: 88.0.4324.182
Cloudflare (1.1.1.1) Open DNS Google (Public DNS) Quad9 (9.9.9.9) Clean Browsing (Family Filter)
Screenshot_20210219-180700_Brave Screenshot_20210219-180746_Brave Screenshot_20210219-181004_Brave Screenshot_20210219-181039_Brave Screenshot_20210219-181112_Brave

Verification PASSED on Asus Zenfone (x86) running Android 6 using the following build:

1.20.108 CR: 88.0.4324.182
Google (Public DNS) Cloudflare (1.1.1.1) CleanBrowsing (Family Filter) NextDNS OpenDNS Quad9 (9.9.9.9)
Screenshot_20210219-175733 Screenshot_20210219-175806 Screenshot_20210219-175857 Screenshot_20210219-180539 Screenshot_20210219-180646 Screenshot_20210219-180747

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment