Skip to content

Firefox fingerprint protection causes pixelated label backgrounds #12480

Open
@jjspace

Description

Apparently some fingerprint detection methods use the canvas and how it draws things. I didn't dig too deep into the methods there.
In the interest of privacy and security Firefox does something in the canvas drawing functions to obfuscate/mangle output to prevent these fingerprinters from working. As a side-effect this causes extra random single pixel spots to show up in labels, see below. (The cause being Firefox's privacy settings was identified on the forums)

Image

Check out the sandcastle that produced that image here. Note that it renders normally in chromium based browsers and Firefox with the "Suspected fingerprinters" protection off.

The Firefox setting that matters is in about:preferences#privacy under “Privacy & Security” > “Enhanced Tracking Protection” > “Suspected fingerprinters” (Note I had to switch to "Custom" to force this on.
I do not know if this only impacts Firefox on Linux or Firefox on all systems with this setting enabled.

According to the page on Firefox's protection against fingerprinting under the suspected fingerprinters it says:

Random data is introduced to background images when the image is read back by the website. If a website merely renders data to the background, it will render without alteration. Although typically this does not happen, if the website reads the image data in the background (and potentially displays it to you again), it will have subtle noise that may affect how the image is displayed.

This sounds exactly like the cause. I believe we render labels to a canvas then copy that as an image to render into the web gl context which would probably trigger this issue. We may need to look into different methods to achieve this if we deem it a big enough problem to tackle fixing.

I'm mostly just opening this issue to keep a record of this issue and provide a single point to link back to if we see this on the forums or reported in other issues.

Activity

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

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions