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

patches/webgl: return generic info instead of empty strings #3217

Merged

Conversation

dumbmoron
Copy link
Contributor

@dumbmoron dumbmoron commented Feb 26, 2025

Instead of returning empty strings for WebGL info, return a generic renderer & vendor taken from Windows 10 [1] [2].

Seemingly fixes #3012

@dumbmoron dumbmoron requested a review from a team as a code owner February 26, 2025 14:32
Copy link
Contributor

@Ahrotahn Ahrotahn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @dumbmoron

@PF4Public
Copy link
Contributor

Are those strings generic enough? I mean, could it become a good fingerprinting point in the future?

@dumbmoron
Copy link
Contributor Author

dumbmoron commented Feb 26, 2025

Are those strings generic enough? I mean, could it become a good fingerprinting point in the future?

I was curious, so I tried to perform some analysis on vendor/renderer strings seen in the wild. I found this dataset: https://github.com/apify/fingerprint-suite/blob/master/packages/fingerprint-generator/src/data_files/fingerprint-network-definition.zip
I have no idea how reliable or unreliable the dataset is (and I couldn't find any more reliable ones which include vendor/renderer strings), but if we were to draw conclusions from it, it looks like ANGLE (Google, Vulkan 1.3.0 (SwiftShader Device (Subzero) (0x0000C0DE)), SwiftShader driver) (without the -5.0.0) might be more commonly seen in the wild, while not being tied to a specific chip manufacturer (Apple/Intel/AMD). If you think it would be better, I could replace the renderer string with this one.

For reference, here are the results and code I used to analyze this dataset: https://gist.github.com/dumbmoron/bfa33483d9ea1b1c5ac08b5a281af46e

@Ahrotahn
Copy link
Contributor

While being less identifiable individually we were likely more identifiable as a group being the only browser that returned a blank string. This would at least help to blend in with legitimate values. It's also a good choice since it's platform-agnostic, that document mentioned windows 10 as an example but there's entries for other platforms such as linux for example.

berkley4 added a commit to berkley4/ungoogled-chromium-debian that referenced this pull request Feb 27, 2025
Equivalent to an unmerged PR [1], and should fix
a youtube playback issue [2].

[1] ungoogled-software/ungoogled-chromium#3217
[2] ungoogled-software/ungoogled-chromium#3012
Copy link
Member

@networkException networkException left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we just merge this and do platform specific strings later?

@Ahrotahn
Copy link
Contributor

I don't see any reason we'd want to make them more specific. It's better to keep them generic in order to reduce fingerprintability.

@networkException
Copy link
Member

ah oops, looks like I misread your previous comment

@networkException networkException merged commit 3c764bf into ungoogled-software:master Feb 27, 2025
3 checks passed
@dumbmoron dumbmoron deleted the generic-webgl-info branch February 27, 2025 20:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

YouTube "Something went wrong. Refresh or try again later."
4 participants