On 10/27/22 11:49 PM, 'Daniel Vogelheim' via blink-dev wrote:

Hello all,


The approval for the Intent To Ship for Origin Isolation By Default / Deprecate document.domain <https://groups.google.com/a/chromium.org/g/blink-dev/c/_oRc19PjpFo/>asks for a separate intent for the actual default change <https://groups.google.com/a/chromium.org/g/blink-dev/c/_oRc19PjpFo/m/Ybgtf3JfAQAJ>. This is that separate intent.


A summary of what happened so far:

- Shipping Origin Isolation by Default (and thereby deprecating document.domain) has security benefits, but compatibility risk.

- We added warnings to the developer console and issues panel, published a blog post, and engaged in direct outreach. This has resulted in substantial, measurable reduction of usage. Some sites keep using document.domain, but have mitigated the deprecation with other means. This makes the risk difficult to measure.

- Sampling of sites with document.domain usage and manual inspection yields a potential breakage estimate at ~0.015% of page views.


What we're asking for here is:

- Enable the feature at 50% for beta (+ dev + canary) during M109, as a "last call" for web site authors.

This sounds like a good idea. Is there any reason we couldn't go to 50% in M108 as well (or are you trying to avoid breakage over the winter holidays)?

Another question: do we have enterprise policies available for this change?

- Launch on stable on M110. (~ Feb '23, so >12 weeks out from today)



------------------------


        Contact emails


        v...@chromium.org, vogelh...@chromium.org


        Specification


        Explainer:https://github.com/mikewest/deprecating-document-domain
        <https://github.com/mikewest/deprecating-document-domain>


        HTML Spec
        draft:https://github.com/whatwg/html/compare/main...otherdaniel:dd
        <https://github.com/whatwg/html/compare/main...otherdaniel:dd>


        API spec


        Yes


        Summary

This is a follow-on to the Intent to Ship: Origin Isolation By Default / Deprecate document.domain <https://groups.google.com/a/chromium.org/g/blink-dev/c/_oRc19PjpFo/>. We'd like to ship this in M110, stable.


        Summary (of the underlying change)


        Change the default behavior of the Origin-Agent-Cluster:
        header / document.domain settability.


        Presently, pages within Chromium have site-keyed agent
        clusters by default, unless the Origin-Agent-Cluster: header
        is explicitly set to true. This accommodates pages or frames
        which want to access each other's state, despite being on
        different origins (but within a site). This is fine for any
        pages that wish to do so, but because a page *might* set
        document.domain later on, Chromium currently must use
        site-keyed agent clusters for *all* pages by default even
        though the overwhelming majority of pages do not ever make use
        of this (mis-)feature. In turn, this requires Chromium to use
        sites as the basis for renderer process isolation (via Site
        Isolation), which exposes origins to same-site but
        cross-origin attacks involving compromised renderer processes
        or the "Spectre" family of side-channel attacks.


        This proposal changes the default behaviour of
        Origin-Agent-Cluster. From a developer's point of view, the
        new default matches "Origin-Agent-Cluster: ?1". The initial
        implementation will use origin-keyed agent clusters for all
        (non-opted out) origins, without changing how many processes
        Chromium creates. Over time, we can then adapt Chromium's
        isolation strategy towards origin-keyed processes without
        further affecting web-visible behaviour.


        The developer-visible aspect of this is that for pages with
        origin-keyed agent clusters, document.domain is no longer
        settable. Thus, we have marked this intent as a deprecation.


        Note that this proposal is about the default. Both modes -
        site-keyed or origin-keyed agent clusters - remain available
        to any site, but origin-keyed agent clusters change from
        opt-in to opt-out. The current behaviour remains available by
        setting "Origin-Agent-Cluster: ?0".


        Blink component


        Blink>SecurityFeature


        TAG review


        https://github.com/w3ctag/design-reviews/issues/564
        <https://github.com/w3ctag/design-reviews/issues/564>


        Risks: Interoperability and Compatibility

There are compatibility risks, which we have reduced with outreach and warnings, and we want to mitigate further by launching at 50% of beta first. An extended discussion of the risk (including attempts at quantitative assessment) can be found in the original intent to ship <https://groups.google.com/a/chromium.org/g/blink-dev/c/_oRc19PjpFo/>.


Gecko:Standards position request <https://github.com/mozilla/standards-positions/issues/601>. ("Worth prototyping")


WebKit:https://lists.webkit.org/pipermail/webkit-dev/2021-December/032067.html <https://lists.webkit.org/pipermail/webkit-dev/2021-December/032067.html>(No signals.)


Web developers: No signals.


Activation - Deprecation plan


        M109: Enable "Origin Agent Cluster by Default" for 50% of page
        loads on beta, dev, and canary.

M110: Enable "Origin Agent Cluster by Default" on stable.


        Security


        This change should be security-positive, since setting
        document.domain will not have any impact on the origin of the
        document any more.


        Debuggability


        A deprecation warning has been added to DevTools console and
        to the issues panel in M98. This warning will file a
        deprecation report as well using the Reporting API, if so
        configured.


        Will this feature be supported on all six Blink platforms
        (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?


        Yes


        Is this feature fully tested byweb-platform-tests
        
<https://chromium.googlesource.com/chromium/src/+/master/docs/testing/web_platform_tests.md>?


        This is covered by Origin-keyed Agent Cluster tests
        <https://wpt.live/html/browsers/origin/origin-keyed-agent-clusters/>.


        Tracking bug


        https://crbug.com/1139851 <https://crbug.com/1139851>


        Launch bug


        https://crbug.com/1246823 <https://crbug.com/1246823>


        Link to entry on the Chrome Platform Status


        https://chromestatus.com/feature/5428079583297536
        <https://chromestatus.com/feature/5428079583297536>(document.domain
        setter deprecation)


        https://chromestatus.com/features/5683766104162304
        <https://chromestatus.com/features/5683766104162304>(Origin-keyed
        agent clusters)


--
You received this message because you are subscribed to the Google Groups "blink-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscr...@chromium.org. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CALG6KPNEMgvrOehp5%2Bf48yQ62pY3xqXqATPNxWZ6aYQ%2BXeHHAg%40mail.gmail.com <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CALG6KPNEMgvrOehp5%2Bf48yQ62pY3xqXqATPNxWZ6aYQ%2BXeHHAg%40mail.gmail.com?utm_medium=email&utm_source=footer>.

--
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to blink-dev+unsubscr...@chromium.org.
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/abf2cd16-45a7-f7c1-0ddf-b7dad2b0b5d0%40chromium.org.

Reply via email to