New issue
Advanced search Search tips

Issue 734722 link

Starred by 4 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Bug

Blocked on:
issue 846155

Blocking:
issue 614463



Sign in to add a comment

Introduce a more generic notion of a security principal than sites

Project Member Reported by alex...@chromium.org, Jun 19 2017

Issue description

Currently, the process model defines isolation principals using "sites" (scheme and etld+1) and "site URLs".  However, we've been extending and redefining sites beyond the original definition, and we are starting to hit situations in which GURLs or url::Origins alone aren't enough to represent a principal: 

1. We now support process isolation for particular origins ( issue 713444 ), where we use the full origin rather than just a scheme/etld+1.

2. Webview guests currently use a special site URL which doesn't match the site of actual web content being rendered inside them.  Eventually, we want to introduce knowledge of StoragePartition to support cross-process navigations and OOPIFs in guests.

3. With Isolate-Me (https://wicg.github.io/isolation/explainer.html), we might need to support knowledge of StoragePartitions as well.

4. Hosted apps use a chrome-extension:// site_url, which does not match the origin from which the web content is served.

Referring to the isolation principal using a site_url is confusing in those cases, and representing site_urls with GURLs has led to bugs since it's too easy to pass in the wrong kind of URL (e.g., a full URL to a function that expects a site URL). Two examples: https://codereview.chromium.org/2921063003/ for GetProcessHostForSite and https://codereview.chromium.org/2322673005/ for DoesSiteRequireDedicatedProcess.  Let's come up with something better!

Charlie notes that there was an earlier attempt at introducing a better notion of a principal in  issue 109792 , and that it might be time to revisit that.

 
Blocking: 614463
Cc: slangley@chromium.org sa...@chromium.org noel@chromium.org

Comment 3 by creis@chromium.org, Nov 18 2017

Blocking: 786673
Blockedon: 846155
Blocking: -786673
I think this issue (the issue of "what origins/frames/workers should be isolated") is orthogonal to issue 786673 ("what features should be protected by isolation, even in presence of compromised renderers").

creis@: Because of the above and because of the desire to clean-up issue 786673, I am removing the dependency here.  Please shout if you think this is wrong.

Sign in to add a comment