On Mon, Mar 18, 2019 at 10:25 AM Mike West <mk...@chromium.org> wrote:
> On Mon, Mar 18, 2019 at 10:15 AM Anne van Kesteren <ann...@annevk.nl> wrote:
>> To be clear, as per
>> https://bugzilla.mozilla.org/show_bug.cgi?id=1531012 and discussed at
>> https://github.com/w3c/webappsec-feature-policy/issues/282 we're not
>> shipping Feature Policy and are not entirely comfortable with the
>> current architecture. It's correct that we've implemented some
>> aspects, but please don't use that as a signal.
>
> That's quite fair. On this feature in particular, however, it seemed like there was reasonable agreement with you on the infrastructure change in https://github.com/whatwg/html/pull/4170 and with baku@ on the general idea in side conversations on IRC.
>
> I went back and forth on which label to use here, but since y'all had actually implemented the feature, "In Development" seemed reasonable. Perhaps "mixed public signals" would be more accurate?
Mozilla is opposed at this point. I have two concerns with this
particular feature, that mostly came to light after the earlier
discussion:
1. I'm no longer convinced that influencing the control flow of
cross-origin contexts is a good idea without the cross-origin context
opting into that. That is, new sandboxing mechanisms should be done in
a way similar to CSP: EE.
2. If we want to offer sites a primitive here for more isolation what
we need is to influence the creation of the agent cluster key as
described at https://github.com/whatwg/html/issues/4361. This needs to
be set when a document from an origin is first navigated to in a
browsing context group.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADnb78jYgQHRHjMV6wL5TRR_%2BVO88B5qXw_T%3Dzaz-LUoTc53Uw%40mail.gmail.com.
On Mon, Mar 18, 2019 at 3:24 PM Ian Clelland <icle...@chromium.org> wrote:
> Do you feel that document.domain falls under that umbrella, given that it's already restricted in sandboxed frames, and any frame could today be embedded without access to that API?
It's not a 100% clear to me as when document.domain is disabled via
sandboxing some other things are disabled too, but perhaps those don't
end up mattering for this.
The other concern still applies though.
Disabling document.domain isn't really what we want. What we want is
making it so that cross-origin-same-site globals get put in a new
agent cluster and that therefore breaking down the barrier between
globals within a single agent doesn't have any effect.
--
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+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADnb78jPtvZ4zGEsoD1Nv%2B0VMRtLnPRPS6YKtXPQJgfBWH_APQ%40mail.gmail.com.
--
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+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAKXHy%3DcG7nHtmKhVZgbw3qewZAVOSja4eXPXBW0-8jttQfbaMA%40mail.gmail.com.
On Tue, Mar 26, 2019 at 3:21 PM Mike West <mk...@chromium.org> wrote:
> 1. It allows a document to harden its origin isolation by ensuring that it can't put itself into a state that would enable access for cross-origin-but-same-site documents.
As I'm trying to point out, this isn't actually guaranteed. Say A is
using this policy. A creates a same-origin popup B. B grabs references
to a whole bunch of objects from A. B then creates a
cross-origin-but-same-site subframe C and sets document.domain. C has
access to A's objects that B grabbed. (If Feature Policy is fixed so
this scenario no longer works, then consider A being embedded in
cross-site D and B being a sibling frame of A that does not have the
policy instead.)
> 2. It serves as an input into user agents' decisions and heuristics around process isolation.
I don't think that's possible without creating issues for the scenario
outlined above.
> 1. I don't actually have strong feelings about whether the policy should be allowed to flow into child frames, and I'm happy to defer to the ongoing discussion that Ian referred to earlier in the thread on that point. I think his point regarding sandbox's preexisting manipulation of a page's ability to use `document.domain` is pretty relevant to that conversation, and should be an input to the risk calculation (I think it's low).
I don't think Ian referenced anything?
> 2. It does seem reasonable to poke more broadly at the agent cluster concept (which is new to me!), though it's not at all clear to me why that would be mutually exclusive with limiting access to `document.domain`. If we'd like to isolate two same-site frames from each other, surely we need to ensure that they can't reach into each other by setting `document.domain` to the same value? I believe that's the reason for step 6 of https://html.spec.whatwg.org/multipage/webappapis.html#same-agent-window-objects, right?
It's the other way around. If they're agent cluster isolated, then
setting document.domain cannot do anything. (To be clear, you're
correct that it's not mutually exclusive with limiting access to
document.domain, but given finite time I don't see a reason to solve
both and live with the complexity of both as we need agent cluster
isolation for all the interesting things.)
On Tue, Mar 26, 2019 at 3:38 PM Anne van Kesteren <ann...@annevk.nl> wrote:On Tue, Mar 26, 2019 at 3:21 PM Mike West <mk...@chromium.org> wrote:
> 1. It allows a document to harden its origin isolation by ensuring that it can't put itself into a state that would enable access for cross-origin-but-same-site documents.
As I'm trying to point out, this isn't actually guaranteed. Say A is
using this policy. A creates a same-origin popup B. B grabs references
to a whole bunch of objects from A. B then creates a
cross-origin-but-same-site subframe C and sets document.domain. C has
access to A's objects that B grabbed. (If Feature Policy is fixed so
this scenario no longer works, then consider A being embedded in
cross-site D and B being a sibling frame of A that does not have the
policy instead.)I'm assuming the existence of Origin Policy (which I should have mentioned here), which would be able to impose an a priori constraint on both A and B. That was the context for the discussion we had in https://github.com/whatwg/html/pull/4170#issuecomment-438209931, and the context in which I think this policy would be most useful.> 2. It serves as an input into user agents' decisions and heuristics around process isolation.
I don't think that's possible without creating issues for the scenario
outlined above.As above, Origin Policy applying Feature Policy is the heuristic that I think we were landing on in our earlier discussions.> 1. I don't actually have strong feelings about whether the policy should be allowed to flow into child frames, and I'm happy to defer to the ongoing discussion that Ian referred to earlier in the thread on that point. I think his point regarding sandbox's preexisting manipulation of a page's ability to use `document.domain` is pretty relevant to that conversation, and should be an input to the risk calculation (I think it's low).
I don't think Ian referenced anything?Ian said he was "working up a spec change". Perhaps he can point it out? :)
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADnb78g-jxsXDJy%3DhLnwBeM7ALoZy-ehBwMpohyvLJKf29tuKQ%40mail.gmail.com.
--
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+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAK7rkMh2q0NH0j0%3D3Thk31g%3DFM8KSQir2EhmGSKnNKCeO_9Hmw%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CACj%3DBEjiuVAkQpHpmiRfTLD-mwfgWAz7cMpNX9U8zAk8LN_Otw%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CALjhuifALq5fCbKt2B7CerTggXszt%3DcrZ7bEhxPWzWc98MrCdA%40mail.gmail.com.