Skip to content

Windows and handles: refuse controllable windows; noopener OAuth popup - #158

Merged
lannbot merged 1 commit into
mainfrom
investigate/noopener-coop-headers
Sep 7, 2026
Merged

Windows and handles: refuse controllable windows; noopener OAuth popup#158
lannbot merged 1 commit into
mainfrom
investigate/noopener-coop-headers

Conversation

@lannbot

@lannbot lannbot commented Sep 7, 2026

Copy link
Copy Markdown
Collaborator

A parent or opener holding a WindowProxy to the visor tab can navigate it
cross-origin. The visor now refuses to boot when framed or when
window.opener is non-null, painting a framework-voice notice and a button
that reopens the page with noopener. The opener test is one-sided (a
hostile opener can disown its popup before navigating it here), so this
catches the naive case only; COOP same-origin is recorded as the general
form and as an optional deployment enhancement, never a requirement.

Our own OAuth popup opens with noopener. With no handle on either side the
returning page reports code-or-declined over a same-origin BroadcastChannel
keyed by the ceremony's state; closed-detection is a ten-minute bound.
No kernel change. New e2e scenario handled-window-refuses-to-boot; 17/17.

Automerge armed.

…r OAuth popup

A parent or opener holding a WindowProxy to the visor tab can navigate it
cross-origin. The visor now refuses to boot when framed or when
window.opener is non-null, painting a framework-voice notice and a button
that reopens the page with noopener. The opener test is one-sided (a
hostile opener can disown its popup before navigating it here), so this
catches the naive case only; COOP same-origin is recorded as the general
form and as an optional deployment enhancement, never a requirement.

Our own OAuth popup opens with noopener. With no handle on either side the
returning page reports code-or-declined over a same-origin BroadcastChannel
keyed by the ceremony's state; closed-detection is a ten-minute bound.
No kernel change. New e2e scenario handled-window-refuses-to-boot; 17/17.
@lannbot
lannbot enabled auto-merge September 7, 2026 14:59
@lannbot
lannbot merged commit 6095e66 into main Sep 7, 2026
2 checks passed
@lannbot
lannbot deleted the investigate/noopener-coop-headers branch September 7, 2026 15:05
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

Successfully merging this pull request may close these issues.

2 participants