Re: [whatwg/fetch] Specify the behavior of `COEP: credentialless`, (#1229)

@ArthurSonzogni commented on this pull request.



> @@ -1892,6 +1892,24 @@ source of security bugs. Please seek security review for features that deal with
  <a for="URL serializer"><i>exclude fragment</i></a> set to true.
 </ol>
 
+<p>To check <dfn export>Cross-Origin-Embedder-Policy allows credentials</dfn>, given a
+<a for=/>request</a> <var>request</var>, run theses steps:
+
+<ol>
+ <li><p>If <var>request</var>'s <a for=request>mode</a> is not <code>no-cors</code>", return
+ true.</p>
+
+ <li><p>If <var>request</var>'s <a for=request>client</a> is null, return true.</p>
+
+ <li><p>If <var>request</var>'s <a for=request>client</a>'s <a for="environment settings
+ object">embedder policy</a> is not
+ "<code><a for="embedder policy value">credentialless</a></code>", return true.</p>
+
+ <li><p>If <var>request</var>'s <a for=request>origin</a> is <a>same origin</a> with
+ <var>request</var>'s <a for=request>current URL</a>'s <a for=url>origin</a>, return true.</p>

It was made this way to avoid breaking more clients than necessary. Goal is to make COEP deployable easily.

In the threat model, the attacker wants to use SAB to read a non-public cross-origin resource. So, allowing credentials for same-origin resource doesn't go against it.

However, I agree doing something similar to other logic would bring some kind of purity here. That's good too.

Do you feel strongly against it? This probably deserve some attention from @mikewest or @arturjanc with whom we discussed it in the design doc.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/whatwg/fetch/pull/1229#discussion_r708434025

Received on Tuesday, 14 September 2021 16:19:24 UTC