Opened 12 months ago

Last modified 11 months ago

#20941 assigned defect

Tor browser will resize it self after the dock is enabled and the browser is dragged to a new location

Reported by: Dbryrtfbcbhgf Owned by: arthuredelstein
Priority: High Milestone:
Component: Applications/Tor Browser Version:
Severity: Major Keywords: tbb-fingerprinting-resolution, TorBrowserTeam201612
Cc: arthuredelstein, brade, mcs Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

Tor browser will resize it self after the dock is enabled and the browser is dragged to a new location, this could cause the user to be fingerprinted because the browser is a different size than other tor browser users.
To cause this bug, first make sure the dock is hidden in macOS. next open torbrowser 6.5a4. When tor browser is finished loading unhide the dock by checking the box in settings. and drag tor browser to a new location and it will resize it self to a size smaller than its default size. I attached a video showing the bug being reproduced.

Child Tickets

Change History (7)

comment:1 Changed 12 months ago by Dbryrtfbcbhgf

The video was too large to attach, so here is a link to the video download.
http://sendvid.com/407frb3y
backup link
https://filenurse.com/download/b568557ae7874f31f953ae068640da2f.html

comment:2 Changed 12 months ago by gk

Cc: arthuredelstein added
Keywords: tbb-fingerprinting-resolution TorBrowserTeam201612 added
Priority: Very HighHigh
Severity: CriticalMajor
Status: newneeds_information
Version: Tor: 0.2.9.5-alpha

I guess this worked well in older Tor Browser alpha versions? Is this an issue with the latest stable version for OS X as well?

Could be due to our resizing logic being in Firefox itself now. Arthur, can you take a look?

comment:3 Changed 12 months ago by arthuredelstein

Owner: changed from tbb-team to arthuredelstein
Status: needs_informationassigned

comment:4 Changed 12 months ago by Dbryrtfbcbhgf

It does not seam to effect Tor Browser 6.0.7, Im not sure about the older alpha versions.

comment:5 Changed 12 months ago by arthuredelstein

I think this behavior is a result of our #14429 patch (which is only active in the alpha). When you disable dock autohiding, macOS apparently attempts to resize the window so that it no longer overlaps with the dock. Then the 14429 patch responds by resizing again to ensure that the content window has rounded dimensions (a multiple of 200 x 100).

I think this behavior is essentially decreasing the fingerprintability, as intended. However, it would be good to check. Dbryrtfbcbhgf, if you could run this test again, could you please browse to https://jsfiddle.net/rv37t3dz/ and check that the window dimensions are correctly rounded after the resizing event?

An additional wrinkle is that the horizontal size seems to be shrinking. I think this is probably the result of macOS shrinking the width by a small amount (maybe 1 pixel) and then 14429 responded by shrinking to the next lower rounded dimension. We could consider allowing a "rounding up" from 99 pixels to 100 for situations like this.

comment:6 Changed 12 months ago by mcs

Cc: brade mcs added

comment:7 Changed 11 months ago by Dbryrtfbcbhgf

Here are the sizes before and after the bug has occurred.

"Before bug has occurred"
innerWidth x innerHeight: 405 x 559
outerWidth x outerHeight: 405 x 559
screen.width x screen.height: 405 x 559

"After the bug occurred"
innerWidth x innerHeight: 305 x 559
outerWidth x outerHeight: 305 x 559
screen.width x screen.height: 305 x 559

Note: See TracTickets for help on using tickets.