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

Partition Blob storage #21746

Closed
goodov opened this issue Mar 18, 2022 · 9 comments · Fixed by brave/brave-core#12686
Closed

Partition Blob storage #21746

goodov opened this issue Mar 18, 2022 · 9 comments · Fixed by brave/brave-core#12686

Comments

@goodov
Copy link
Member

goodov commented Mar 18, 2022

Currently blob are accessible via URLs generated from URL.createObjectURL in a third-party context. We should partition the storage in a way that blobs can't be accessed in 3p context via URL generated in 1p context.

See also https://privacytests.org/ for blob storage partitioning test.

@goodov goodov added OS/Android Fixes related to Android browser functionality OS/Desktop labels Mar 18, 2022
@goodov goodov self-assigned this Mar 18, 2022
@goodov goodov added this to the 1.39.x - Nightly milestone Apr 8, 2022
@goodov
Copy link
Member Author

goodov commented Apr 8, 2022

@pes10k if we can create some test page for this, it would be awesome :)

@pes10k
Copy link
Contributor

pes10k commented Apr 10, 2022

Sure thing! For you @goodov , i have this: https://dev-pages.brave.software/storage/partitioning.html

@LaurenWags LaurenWags added QA/Test-All-Platforms QA/In-Progress Indicates that QA is currently in progress for that particular issue labels Apr 27, 2022
@LaurenWags
Copy link
Member

LaurenWags commented Apr 27, 2022

@goodov looks like https://privacytests.org/ has 1.37.x listed on main page and https://privacytests.org/nightly.html has 1.40.x on the Nightly page. Since neither of these will allow me to check 1.39.x, I'll use the page from #21746 (comment) for testing.

Any issues with this? Adding QA/Blocked until we confirm 👍🏻

@LaurenWags LaurenWags added QA/Blocked and removed QA/In-Progress Indicates that QA is currently in progress for that particular issue labels Apr 27, 2022
@goodov
Copy link
Member Author

goodov commented Apr 28, 2022

@goodov looks like https://privacytests.org/ has 1.37.x listed on main page and https://privacytests.org/nightly.html has 1.40.x on the Nightly page. Since neither of these will allow me to check 1.39.x, I'll use the page from #21746 (comment) for testing.

Any issues with this? Adding QA/Blocked until we confirm 👍🏻

I don't see how privacytests.org can affect our own testing. We have our testing page and it should work for 1.39.x perfectly fine.

@LaurenWags
Copy link
Member

Ah thanks @goodov.

I read

See also https://privacytests.org/ for blob storage partitioning test.

from the description as something we should verify when checking this issue. Seems that's not the case which is great!

@LaurenWags LaurenWags added QA/In-Progress Indicates that QA is currently in progress for that particular issue and removed QA/Blocked labels Apr 28, 2022
@LaurenWags
Copy link
Member

LaurenWags commented Apr 28, 2022

Verified with

Brave | 1.39.83 Chromium: 101.0.4951.41 (Official Build) beta (x86_64)
-- | --
Revision | 93c720db8323b3ec10d056025ab95c23a31997c9-refs/branch-heads/4951@{#904}
OS | macOS Version 12.3.1 (Build 21E258)

Executed test from https://dev-pages.brave.software/storage/partitioning.html using above version and confirmed test passed as expected:

Step 1 Step 2
1 2

For comparison, ran test from https://dev-pages.brave.software/storage/partitioning.html using 1.38.109 (current Release channel version), and the test did not pass (expected):

Step 1 Step 2
3 4

@LaurenWags LaurenWags added QA Pass-macOS and removed QA/In-Progress Indicates that QA is currently in progress for that particular issue labels Apr 28, 2022
@MadhaviSeelam
Copy link
Collaborator

MadhaviSeelam commented Apr 28, 2022

Verification PASSED using

Brave 1.39.84 Chromium: 101.0.4951.41 (Official Build) beta (64-bit)
Revision 93c720db8323b3ec10d056025ab95c23a31997c9-refs/branch-heads/4951@{#904}
OS Windows 11 Version 21H2 (Build 22000.613)

Executed test from https://dev-pages.brave.software/storage/partitioning.html using above version and confirmed test passed as expected:

Step 1 Step 2
blobtest-beta-step1 blobtest-beta-step2

For comparison, ran test from https://dev-pages.brave.software/storage/partitioning.html using 1.38.109 (current Release channel version), and the test did not pass (expected):

Step 1 Step 2
blobtest-138109 blobtest-138109-failed

@btlechowski
Copy link
Collaborator

Verification passed on

Brave 1.39.100 Chromium: 101.0.4951.61 (Official Build) beta (64-bit)
Revision 3b3633b32c491b4cba5fd7df3c7c0f628547cbcc-refs/branch-heads/4951@{#1189}
OS Ubuntu 18.04 LTS

Executed test from https://dev-pages.brave.software/storage/partitioning.html using above version and confirmed test passed as expected:

Step 1 Step 2
image image

For comparison, ran test from https://dev-pages.brave.software/storage/partitioning.html using 1.38.109 (current Release channel version), and the test did not pass (expected):

Step 1 Step 2
image image

@kjozwiak
Copy link
Member

kjozwiak commented May 19, 2022

Verification PASSED on Samsung S10+ running Android 12 using the following build(s):

Brave | 1.39.109 Chromium: 102.0.5005.50 (Official Build) (64-bit)
--- | ---
Revision | f6e2cf8f59ec714bdcff8499991d55898875f287-refs/branch-heads/5005@{#648}
OS | Android 12; Build/SP1A.210812.016

Executed test from https://dev-pages.brave.software/storage/partitioning.html using above version and confirmed test passed as expected:

Step 1 Step 2
Screenshot_20220519-150039_Brave Screenshot_20220519-145931_Brave

For comparison, ran test from https://dev-pages.brave.software/storage/partitioning.html using 1.38.113 Chromium: 101.0.4951.61 (current Release channel version), and the test did not pass (expected):

Step 1 Step 2
Screenshot_20220519-145937_Brave Screenshot_20220519-150046_Brave

Verification PASSED on Samsung Galaxy Tablet A running Android 11 using the following build(s):

Brave | 1.39.109 Chromium: 102.0.5005.50 (Official Build) (64-bit)
--- | ---
Revision | f6e2cf8f59ec714bdcff8499991d55898875f287-refs/branch-heads/5005@{#648}
OS | Android 11; Build/RP1A.200720.012

Executed test from https://dev-pages.brave.software/storage/partitioning.html using above version and confirmed test passed as expected:

Step 1 Step 2
Screenshot_20220519-151805_Brave Screenshot_20220519-151815_Brave

For comparison, ran test from https://dev-pages.brave.software/storage/partitioning.html using 1.38.113 Chromium: 101.0.4951.61 (current Release channel version), and the test did not pass (expected):

Step 1 Step 2
Screenshot_20220519-151541_Brave Screenshot_20220519-151551_Brave

avinassh pushed a commit to avinassh/brave-browser-hardening that referenced this issue May 29, 2022
 - Added Solana support for account creation, sending SOL and sending SPL tokens with Brave Wallet. ([#22348](brave/brave-browser#22348))
 - Added the ability to buy with Ramp using Brave Wallet. ([#21639](brave/brave-browser#21639))
 - Added JSONSanitizer to API helper requests for Brave Wallet. ([#21831](brave/brave-browser#21831))
 - Added Dapp UI for requesting a public key and for decrypting ciphers using Brave Wallet. ([#21177](brave/brave-browser#21177))
 - Added web3_clientVersion support for Brave Wallet. ([#19278](brave/brave-browser#19278))
 - Added the ability to allow users to search sites for RSS feeds for Brave News. ([#21768](brave/brave-browser#21768))
 - Added support for blob partitioning. ([#21746](brave/brave-browser#21746))
 - Added minimum macOS version for Sparkle update process. ([#22918](brave/brave-browser#22918))
 - [Security] Blocked "window.ethereum" completely in third party iframes. ([#22686](brave/brave-browser#22686))
 - [Security] Updated Brave Wallet panel to prominently display eTLD+1 as reported on HackerOne by renekroka. ([#21787](brave/brave-browser#21787))
 - [Security] Fixed incorrect origin being displayed in Brave Wallet when a spend approval is pending. ([#19557](brave/brave-browser#19557))
 - Implemented eth_getEncryptionPublicKey for Brave Wallet. ([#19276](brave/brave-browser#19276))
 - Implemented account discovery when restoring Brave Wallet. ([#18104](brave/brave-browser#18104))
 - Updated Omaha installer version for Windows to v1.3.36.113. ([#22060](brave/brave-browser#22060))
 - Updated default IPFS configuration values. ([#22068](brave/brave-browser#22068))
 - Updated Gas Limit validation and error messaging for unapproved transactions with Brave Wallet. ([#21714](brave/brave-browser#21714))
 - Updated Brave Wallet to automatically add swap taker asset to the visible asset list. ([#21428](brave/brave-browser#21428))
 - Updated Brave Wallet portfolio network filter for multichain support. ([#20780](brave/brave-browser#20780))
 - Reduced adblock filter memory usage by optimizing unused regex rules. ([#21970](brave/brave-browser#21970))
 - Removed known Dialog Insight user tracking parameters from URLs. ([#22082](brave/brave-browser#22082))
 - Removed ability to swap ERC721 tokens with Brave Wallet. ([#21550](brave/brave-browser#21550))
 - Fixed crash which occurred when opening Brave Shields while using Google Meet. ([#22814](brave/brave-browser#22814))
 - Fixed inability to rename Solana account in Brave Wallet after it has been created. ([#22958](brave/brave-browser#22958))
 - Fixed incorrectly computed insufficient funds errors in Brave Wallet. ([#22877](brave/brave-browser#22877))
 - Fixed ERC20 and ERC721 transfers being incorrectly displayed as ETH transfers in the Brave Wallet transactions panel. ([#22044](brave/brave-browser#22044))
 - Fixed text alignment issues under the Brave Wallet "Recent transactions" panel when using long account names. ([#21216](brave/brave-browser#21216))
 - Fixed breakage in webpack build caused by OpenSSL 3.0. ([#22305](brave/brave-browser#22305))
 - Fixed two windows being opened on launch when the browser was installed without administrator privileges on Windows. ([#22179](brave/brave-browser#22179))
 - Upgraded Chromium to 102.0.5005.61. ([#22923](brave/brave-browser#22923)) ([Changelog for 102.0.5005.61](https://chromium.googlesource.com/chromium/src/+log/101.0.4951.67..102.0.5005.61?pretty=fuller&n=1000))
avinassh pushed a commit to avinassh/brave-browser-hardening that referenced this issue May 29, 2022
 - Added Brave Firewall + VPN. ([#12197](brave/brave-browser#12197))
 - Added support for blob partitioning. ([#21746](brave/brave-browser#21746))
 - Implemented eth_getEncryptionPublicKey for Brave Wallet. ([#19276](brave/brave-browser#19276))
 - Reduced adblock filter memory usage by optimizing unused regex rules. ([#21970](brave/brave-browser#21970))
 - Removed known Dialog Insight user tracking parameters from URLs. ([#22082](brave/brave-browser#22082))
 - Fixed breakage in webpack build caused by OpenSSL 3.0. ([#22305](brave/brave-browser#22305))
 - Fixed pending bell icon under Brave Wallet not being displayed when new unapproved requests are created. ([#21654](brave/brave-browser#21654))
 - Fixed expand icon under Brave Shields using incorrect color when the Privacy Hub has been enabled. ([#22049](brave/brave-browser#22049))
 - Upgraded Chromium to 102.0.5005.61. ([#22923](brave/brave-browser#22923)) ([Changelog for 102.0.5005.61](https://chromium.googlesource.com/chromium/src/+log/101.0.4951.67..102.0.5005.61?pretty=fuller&n=1000))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment