Opened 9 months ago

Last modified 6 weeks ago

#28290 new defect

Don't allow fingerprinting via navigator.userAgent

Reported by: indigotime Owned by: tbb-team
Priority: Medium Milestone:
Component: Applications/Tor Browser Version:
Severity: Normal Keywords: tbb-fingerprinting-os, user-feedback, blog
Cc: Torontoman, HenkAnon, sj2001010 Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

Reporting real operating system in navigator.userAgent is a bug because of the following:

  1. Since you introduced this anti-privacy feature (by "anti-privacy feature" I mean reporting real OS in navigator.userAgent property), you must provide a way to disable it. Otherwise it looks like an intentional action against all Tor Browser users who want to keep their privacy protected. Users may want to stop reporting real OS. Users didn't gave you a permission to decide it for them.

There are many websites which rely on navigator.userAgent and don't use any other fingerprinting methods. Currently Tor Browser users can't stop them from reading real OS version from navigator.userAgent. It's a bug, and it's must be fixed.

  1. According to specifications, navigator.userAgent must be equal to HTTP User-Agent header.

https://html.spec.whatwg.org/multipage/system-state.html#dom-navigator-useragent
https://fetch.spec.whatwg.org/#default-user-agent-value
Any difference between HTTP User-Agent and navigator.userAgent is spec violation.

Child Tickets

Change History (12)

comment:1 Changed 9 months ago by indigotime

Component: - Select a componentApplications/Tor Browser
Owner: set to tbb-team

comment:2 Changed 9 months ago by gk

Keywords: tbb-fingerprinting-os added
Priority: Very HighMedium

I am fine logging this as a bug in our system to remind us of the fact that this is an OS fingerprinting vector we actually like to get solved (together with the other OS fingerprinting ones).

comment:3 Changed 8 months ago by cypherpunks

Keywords: it's-not-only-os-but-bitness added; tbb-fingerprinting-os removed

comment:4 Changed 8 months ago by gk

Keywords: tbb-fingerprinting-os added; it's-not-only-os-but-bitness removed

Please, don't change our keywords, thanks!

comment:5 Changed 8 months ago by cypherpunks

Summary: Stop lying that "reporting real OS in navigator.userAgent is not a bug"Don't allow fingerprinting via navigator.userAgent

comment:6 Changed 6 months ago by boklm

Cc: Torontoman added

#29106 is a duplicate.

comment:7 Changed 6 months ago by Thorin

FWIW:

https://bugzilla.mozilla.org/show_bug.cgi?id=1509829 in FF66+ upstreamed #26146 (this reduces HTTP header OSes to two, but leaves JS navigator to four OSes)

https://bugzilla.mozilla.org/show_bug.cgi?id=1519122 (In RFP Mode, spoof the modifier state "Meta" in OSX into a "Ctrl" state in keyboard events) when landed will then allow MacOS to properly use the cmd key on sites such as Google Docs etc - and then the JS navigator can be reverted to two OSes (assuming all the web site breakage was from this).

1519122 will probably not happen before ESR68, but will hopefully be backported when done, and then both Tor Browser and Firefox with RFP can get in sync (also note that the platform will change to Windows 10 see https://bugzilla.mozilla.org/show_bug.cgi?id=1511434) and headers vs navigator will also be in sync

tl;dr: it's being handled upstream at Mozilla

comment:8 Changed 5 months ago by boklm

Cc: HenkAnon added

#29441 is a duplicate.

comment:9 Changed 5 months ago by boklm

Cc: sj2001010 added

#29518 is a duplicate.

comment:10 Changed 8 weeks ago by gk

#30622 is a duplicate.

comment:11 Changed 7 weeks ago by wayward

Keywords: user-feedback blog added
Note: See TracTickets for help on using tickets.