Skip to content
This repository has been archived by the owner on May 1, 2024. It is now read-only.

Injection isn't transitive #1

Closed
annevk opened this issue Feb 5, 2020 · 2 comments
Closed

Injection isn't transitive #1

annevk opened this issue Feb 5, 2020 · 2 comments

Comments

@annevk
Copy link

annevk commented Feb 5, 2020

At least as explained in the FAQ, Injection doesn't appear to have the same properties as Transport or Isolation in that it's not guaranteed to be valid for the entire top-level browsing context (modulo data URLs for Transport, but we'll fix that).

I think that's a key aspect of being a secure context (remember Netflix).

@mikewest
Copy link
Owner

mikewest commented Feb 5, 2020

That's a good point, and I agree with you that it's core to the general notion that we take a holistic approach that includes a document, its dependencies, and ancestors.

The first thing that occurs to me is some require-injection-mitigation assertion similar to require-corp that would enforce a minimum standard on framed documents and workers (echos of embedded enforcement...). With that assertion in place, we'd examine the incoming response headers of a nested navigation, for example, and block it if it didn't meet whatever minimum bar we put in place (which might be an explicit opt-out).

I think that would address the concern here, but I haven't thought about it enough to decide if it's a good way of doing so. :)

@mikewest
Copy link
Owner

mikewest commented May 1, 2024

Hey Anne! I'm archiving this repo, but pushed the injection discussion out to https://mikewest.github.io/injection-mitigated/ where I'm (slowly) noodling on things. My current take is that injection mitigation is intrinsically tied to a given environment, and there's less value in enforcing the transitivity we discussed here when considering the exposure of a given IDL construct.

I will note this as an issue to discuss, however (https://mikewest.github.io/injection-mitigated/#issue-174efc8d). I'd forgotten about it fairly completely. :)

@mikewest mikewest closed this as completed May 1, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants