Skip to content

Sketch out a CORP-only mode.#893

Closed
mikewest wants to merge 3 commits into
masterfrom
corp-only
Closed

Sketch out a CORP-only mode.#893
mikewest wants to merge 3 commits into
masterfrom
corp-only

Conversation

@mikewest

Copy link
Copy Markdown
Member

A straw-proposal to flesh out the discussion in whatwg/html#4175 (comment).

@annevk annevk left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My main worry here is still that depending on how things shake out long term this could effectively be CORS, without it being clear and without the additional credentials opt-in we require there. (I.e., this is as simple to configure as Access-Control-Allow-Origin: * while potentially having greater risk.)

Comment thread fetch.bs
<var>request</var>'s <a for=request>tainted origin flag</a> is not checked.
<li><p><var>request</var> is a <a>navigation request</a> whose <a for=request>reserved client</a>
is an <a for=/>environment</a> whose <a for=environment>target browsing context</a> is neither a
<a>nested browsing context</a> nor an <a>auxiliary browsing context</a>.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should explain why the auxiliary navigating the non-auxiliary is not a problem.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, hrm. I guess that actually is a problem without process isolation. attacker.site could open attacker.site in a new window, the latter could navigate the former to victim.site, and sadness would ensue. Perhaps this should instead ask whether we're navigating within a unit of related browsing contexts? Or whatever the new hotness is? "User agent cluster"?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Without process isolation on the agent cluster level, right.

I think the navigation checks only make sense when the flag is set on a document. And that flag only makes sense if COOP is also set. (COOP guaranteeing process isolation on the browsing context group level.)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment thread fetch.bs Outdated

<li>
<p>If the following are true
<p>If <var>policy</var> is null, and <a>request</a>'s <a for=request>client</a>'s

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this what we want? I kinda feel like an erroneous policy should fail closed when this TBD boolean is set.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I want to be able to support new values for this header in the future (for example, a list of origins a la #760). I'm happy to tighten this up, but I'd like to figure out how to do so in a forward-compatible way.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess the question then is what the migration strategy has to be. In equivalent cases we've failed for potentially new syntax and new servers will have to update (e.g., all the recentish and proposed CORS changes).

@annevk

annevk commented Jul 6, 2020

Copy link
Copy Markdown
Member

9ff55e4 from PR #1030 addressed this.

@annevk annevk closed this Jul 6, 2020
@annevk
annevk deleted the corp-only branch July 6, 2020 15:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants