Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Isolated Contexts spec review #42

Open
domfarolino opened this issue Jul 24, 2024 · 2 comments
Open

Isolated Contexts spec review #42

domfarolino opened this issue Jul 24, 2024 · 2 comments
Assignees

Comments

@domfarolino
Copy link

@chrishtr asked me to take a look at the Isolated Contexts spec. After checking it out, here's some of the feedback I've come up with:

Editorial feedback

@domfarolino
Copy link
Author

See whatwg/html#6127 (comment) where I propose a future where all agents/clusters are explicitly owned by a BCG, so maybe to satisfy this point for now we can just add a red class=XXX box below this part of the spec here, mentioning that this link isn't quite clear until 6127 is fixed.

Actually I think I take this part back given the more recent discussion on that thread. Since top-level worker environment settings objects can span multiple BCGs, there is no single BCG that an ESO can be relied upon associating with, so I think this part of the spec needs to be re-thought.

@robbiemc
Copy link
Collaborator

Thanks for reviewing it Dominic! I address most of your feedback in #43, but I'm still thinking through the BCG issue.

No, the goal is to only load known scripts, which this achieves through forcing them into separate resources and integrity checking all resources. unsafe-eval or unsafe-inline would allow dynamic script injection/execution which would trivially bypass integrity checks. wasm-unsafe-eval is needed to get wasm to work at all, but doesn't introduce the same security issues as unsafe-eval because wasm has to proxy through js to access any capabilities. There's the possibility that the js bindings to the wasm blob could provide direct access to capabilities, but we consider that a similar threat to developers shipping a js interpreter in their app and using that to get eval, which we can't defend against from a purely technical level.

robbiemc added a commit that referenced this issue Aug 10, 2024
This incorporates most of @domfarolino's feedback from issue #42. It doesn't address the biggest issue about going from environment settings object to browsing context group, which will be in another PR.
robbiemc added a commit that referenced this issue Aug 10, 2024
This addresses the issues raised by @domfarolino in #42 regarding how the spec was tying integrity verification to browsing context group. Rather than attaching integrity verification information to browsing context group, which doesn't exist for all environments, this moves the information to a user agent level map.
robbiemc added a commit to robbiemc/isolated-web-apps that referenced this issue Aug 10, 2024
This incorporates most of @domfarolino's feedback from issue WICG#42. It doesn't address the biggest issue about going from environment settings object to browsing context group, which will be in another PR.
robbiemc added a commit to robbiemc/isolated-web-apps that referenced this issue Aug 10, 2024
This addresses the issues raised by @domfarolino in WICG#42 regarding how the spec was tying integrity verification to browsing context group. Rather than attaching integrity verification information to browsing context group, which doesn't exist for all environments, this moves the information to a user agent level map.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants