-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
Remove or randomize serial numbers from WebUSB-accessible devices #28146
Comments
@pes10k @pilgrim-brave could we please get a test plan for this one since it's labeled Marking as |
okie i'll add one now, hope to have it done by the all hands |
@LaurenWags here ya go https://dev-pages.brave.software/fingerprinting/devices.html (the second test on the page) |
Thanks for the quick assistance @pes10k! |
Verification
Case 1: Shields Enabled (Default) -
|
ex | ex | ex | ex | ex |
---|---|---|---|---|
Site 2: https://dev-pages.bravesoftware.com/fingerprinting/devices.html
ex | ex | ex | ex |
---|---|---|---|
Case 2: Shields Down (Disabled) - PASSED
- toggle
Off
in the Shields - click
Other site
forDisabled
- follow steps from 5-9 steps Case 1
Confirmed serial numbers same on both test domains
Site 1: https://dev-pages.brave.software/fingerprinting/devices.html
ex | ex | ex |
---|---|---|
Site 2: https://dev-pages.bravesoftware.com/fingerprinting/devices.html
ex | ex |
---|---|
This is an issue in the test, not the implementation. I'll fix the test but what your seeing reflects the feature working as expected. Please do not let this block the QA process |
(btw, the test should be fixed now) |
@pes10k: thanks for the fix on test site (figured that could be). However, I have a question on
|
@MadhaviSeelam if you want to remove access for these devices to this site, I think the only open you have in the "reset permission" button (or to clear all site storage for the site). But for the test, by disabled, i mean shields disabled, not the USB devices disabled |
@pes10k thank you! Didn't test with |
That all looks good and correct and expected. Thanks! |
Sorry - tried to find a USB device which has/emits a serial #, but out of the only 6 I've tried and found at home so far, none have 🤷♂️ - @LaurenWags mind trying? |
Verified with
Reproduced the issue using 1.50.114 on Release channel. Case 1: Shields Enabled (Default) -
|
Site 1 | Site 2 |
---|---|
Case 2: Shields Down (Disabled) - PASSED
- toggled Shields
Off
for both Site 1 - clicked on "Query new device" button in the WebUSB Serial number
- selected my webcam and clicked connect
- repeated above steps for Site 2
Confirmed serial numbers same on both test domains
Site 1 | Site 2 |
---|---|
Verification passed on
Brave | 1.51.107 Chromium: 113.0.5672.63 (Official Build) (64-bit) |
---|---|
Revision | 0e1a4471d5ae5bf128b1bd8f4d627c8cbd55f70c-refs/branch-heads/5672@{#912} |
OS | Ubuntu 18.04 LTS |
Case 1: Shields Enabled (Default) - PASSED
- Install 1.51.x
- launch Brave
- attached/inserted couple of USB devices to the laptop (keyboard, docking station)
- visited https://dev-pages.brave.software/fingerprinting/devices.html in a new tab
- keep the
Shields
Up in the Shields panel - clicked on "Query new device" button in the WebUSB Serial number
- selected my webcam and clicked connect
Confirmed serial numbers are randomized for selected USB devices
Confirmed different serial numbers are shown on both test domains (Site 1 & Site 2)
Site 1: https://dev-pages.brave.software/fingerprinting/devices.html
Site 2: https://dev-pages.bravesoftware.com/fingerprinting/devices.html
Case 2: Shields Down (Disabled) - PASSED
Verified on
Shields ON - PASSSTEPS:
ACTUAL RESULTS:
Shields OFF - PASSSTEPS:
ACTUAL RESULTS:
|
Currently sites can use WebUSB to try and get access to users USB devices. This is permission gated, so its a rare occurrence on the web, but must happen somewhere.
If you give a site access to a USB device, the site can learn the serial number for that USB device, which in some cases will be a fixed global identifier for your machine. We should probably remove, randomize or farble these serial numbers.
The text was updated successfully, but these errors were encountered: