Severing a document's openee relationship regardless of origin #10785
Labels
addition/proposal
New features or enhancements
needs implementer interest
Moving the issue forward requires implementers to express interest
topic: cross-origin-opener-policy
Issues and ideas around the new "inverse of rel=noopener" header
What problem are you trying to solve?
JavaScript and the Web are well designed for building composed/composable software, but since doing so safely is a hard task, we witness a positive trend towards attempts to reconfigure how powerful capabilities behave and limit their powers in order to mitigate the extent to which they can be abused.
However, to do so securely, there are still some major blockers to deal with, one of them being the same origin concern where untrusted code within the protected app can escape applied limitations by creating new same origin realms and accessing fresh new instances of the mitigated APIs.
Having no control over such realms translates into not being able to virtualize runtime security in a truly safe manner.
The more complicated variant of same origin realms to defend against is popups.
Therefore, it would be very helpful if the browser would offer some opt-in APIs to limit the access popups of same-origin may have with the protected realm of the app, so that untrusted code within it won’t be able to create a new popup and grab access to its WindowProxy and the capabilities it shares.
An excellent example of that is the implementation of
no-opener-allow-popups
which was addressed by #10373, only that instead of focusing only on limiting the relationship with the opener, we’d like to introduce the other half of this which is to limit the relationship with the openee.To be more specific:
no-opener-allow-popups
), which means:window.opener=={null/closed WindowProxy}
)no-opener-allow-popups
isn't the openee, but rather the opener, resulting in a current state where:window.opener!={null/closed WindowProxy}
)What solutions exist today?
There are no solutions today to solve this AFAIK.
How would you solve it?
By adding a
no-opener
value to the Cross-Origin-Opener-Policy header, that would include both the value provided byno-opener-allow-popups
and would also mimic its behaviour to apply similar protection to a protected opener, thus protecting both openers and openees that wish to have the protection that theno-opener-allow-popups
feature provides.Anything else?
No Response
The text was updated successfully, but these errors were encountered: