You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The postMessage bridge honored switch-session and open-link from any frame,
while resize/send-prompt were already gated to a recognized surface frame.
Gate the former two on isOwnFrame(ev.source) so a stray or nested frame can't
drive session navigation or pop an open-link dialog. switch-session is sent
only by html frames, but open-link is also sent by rich-part frames (which are
not in the html-only frameForSource registry), so isOwnFrame recognizes any
iframe the viewer embedded.
Also pin the load-bearing isolation guarantee directly, where it was only
covered by the sandbox attribute as a proxy:
- unit: the board origin is never a connect-src/script-src source (img/media
only) — the exact exfil hole that 'self'/wildcard/`https:` checks miss.
- e2e: script inside an html part is CSP-blocked from fetching the board API,
asserted on real Chromium and WebKit via a self-reporting probe.
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
0 commit comments