-
Notifications
You must be signed in to change notification settings - Fork 155
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
Denying self while still allowing subframes #480
Comments
The WG talked about this at TPAC, and the consensus there was that this is probably a good idea, but that the name proposed might be confusing. (We wouldn't want people to assume that " I think that we need a single token to represent "don't include the origin this page was served from", to fit with the structured field definition. A general "prepend a I'll see about writing up the algorithm changes, while we bikeshed on the name (I'd propose painting the shed with " |
I think |
I am thinking about a scenario explicitly for Chrome (might be exposed to other browsers too, I am not so sure), that is "partitioned" mode of permission delegation. We might have a slight conflict when permission access requires a function of both the 1P and embedding origins (such as storage-access permission feature or any future feature). All granted access of the feature from subframes will be removed, even the feature is still expected to be allowed in Imho exclude-self might be okay too, but ideally it would have to be "not-self-plus-delegate-nesting" or some such meaning, since the delegation seems to be an important factor here. |
@tungnh28 I can't quite follow your meaning but if you are saying that permissions policy would not be able to grant a permission that would be removed by partitioning, then that seems reasonable. If it's some more involved than that, could you give a complete example? |
That's what I meant, no further points than that. |
Should it be possible to prevent a frame/origin from using a feature while still retaining the ability to let other, specified origins use it?
This arose with the proposed
unload
feature (#444) but seems applicable to other features. There are 2 distinct usesunload,
sync-xhr`. It may not be possible to remove all uses of the feature from 3rd-party subframes or that may just take time but a site may have removed all uses themselves and do not want new uses to be accidentally introduced. Currently there is no way to enforce this with permissions policy, we are forced to grant all ancestor-frames access to the featurepayment
feature in https://payment.example.com/ and deny use of that feature tohttps://www.example.com/
. With this, compromising www.example.com does not provide access to this API and (hopefully) the JS on payment.example.com is smaller/simpler and harder to exploit.Quote from @clelland in this thread on the history of this topic.
Now that the
allow
attribute is no longer enough by itself, the loophole does not exist any more and so preventing usage but allowing delegation makes sense.Syntax for discussion
For now, the syntax is not important but having a concrete proposal might be useful for discussing the idea.
One possible syntax would be to prepend
!
to indicate that the origin in question cannot use the feature, so for exampleor
The text was updated successfully, but these errors were encountered: