Skip to content
This repository has been archived by the owner on May 10, 2024. It is now read-only.

[iOS 17] Fingerprinting is broken and showing the same values on both pages and after relaunching Brave when Shields enabled #8019

Closed
hffvld opened this issue Sep 2, 2023 · 2 comments · Fixed by #8030

Comments

@hffvld
Copy link
Collaborator

hffvld commented Sep 2, 2023

Description:

[iOS 17] Fingerprinting is broken and showing the same values on both pages and after relaunching Brave when Shields enabled

Steps to Reproduce

  1. Launch Brave
  2. Go to https://dev-pages.brave.software/fingerprinting/farbling.html
  3. Make sure Brave Shields is enabled > Generate fingerprints
  4. Check results for Plugins, Hardware connectivity and Speech voices`
  5. For each separate feature the value must be the same in every column, but different for each feature
  6. Close and relaunch Brave > Run the test again
  7. Compare values with results in the previous step > Observe that values are the same
  8. Open another page https://dev-pages.bravesoftware.com/fingerprinting/farbling.html
  9. Run the test and compare results > Observe that values are the same

Note: Hardware concurrency is hit or miss. We farble number of cores between 2-8 (on iOS 14 and can be less on older devices). With such a low variety of numbers, it's possible that both both test pages get the same value. This can be seen by killing the app and relaunching it. A new random value is given to the farbler and you will see the same values repeating on average 1/7 times as there are only 1/7 possible values we can use.

Actual result:

When Brave Shields is enabled on a device with iOS 17 the values for farbling tests are the same. On iPad with iPadOS 16.5.1 the values are different as expected, so I believe this is iOS 17 specific issue.

1 2 3 4
1 2 3 4

Expected result:

Results must have different values for farbling tests.

Reproduces how often: [Easily reproduced, Intermittent Issue]

Easily reproduced

Brave Version:

Brave build: 1.57 (23.9.1.15)
BraveCore: 1.57.53 (116.0.5845.114)

  • Can you reproduce this issue with the most recent build from TestFlight? Yes
  • Can you reproduce this issue with the previous version of the current build from TestFlight? Yes
  • Can you reproduce this issue with the current build from AppStore? Yes

Device details:

iPhone 14 [iOS 17.0]

Website problems only:

  • did you check with Brave Shields down?
  • did you check in Safari/Firefox (WkWebView-based browsers)?

Additional Information

@hffvld hffvld added bug QA/Yes OS/iOS iOS Beta Issues found when testing iOS beta versions. labels Sep 2, 2023
@cuba cuba self-assigned this Sep 5, 2023
@iccub iccub added this to the 1.57.1 milestone Sep 7, 2023
@cuba cuba closed this as completed in #8030 Sep 7, 2023
cuba added a commit that referenced this issue Sep 7, 2023
* Add try catch to farbling

* Fix issue with plugins farbling for iOS 17

* Remove unwanted changer

* Fix for review

* Move comments below the respective values
iccub pushed a commit that referenced this issue Sep 11, 2023
* Add try catch to farbling

* Fix issue with plugins farbling for iOS 17

* Remove unwanted changer

* Fix for review

* Move comments below the respective values
@Uni-verse
Copy link
Contributor

Verified on iPad (7th Gen) running iPadOS 17.0 using version 1.57.1 (23.9.18.13)

Test 1 Test 2
IMG_1222 IMG_1223

@hffvld
Copy link
Collaborator Author

hffvld commented Sep 20, 2023

Verified on iPhone 14using version(s):

Device/OS: iPhone 14 [iOS 17.0]
Brave build: 1.57.1 (23.9.20.7)
BraveCore: 1.57.53 (116.0.5845.114)

Shileds ON

STEPS:
Followed the steps from #8019 (comment)

ACTUAL RESULTS:

  • Verified that the results have different values for farbling tests.

1 2 3 4
1 2 3 4
Shileds OFF

STEPS:
Followed the steps from #8019 (comment) but this time wit hShileds OFF

ACTUAL RESULTS:

  • Verified that no regression appeared and results have the same values for farbling tests.

1 2 3 4
1 2 3 4

arthuredelstein pushed a commit to brave/brave-core that referenced this issue Feb 13, 2024
…rave/brave-ios#8030)

* Add try catch to farbling

* Fix issue with plugins farbling for iOS 17

* Remove unwanted changer

* Fix for review

* Move comments below the respective values
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants