Contact [email protected] Explainerhttps://github.com/whatwg/html/issues/2191
Specificationhttps://github.com/whatwg/html/pull/7124 https://github.com/whatwg/html/pull/7654 Design docs https://docs.google.com/document/d/1hHjxQk1yLoC0ioBBYpIq4JJYAwj9sJfR5b62QcLt1eM/edit Summary Block sandboxed iframe from opening external applications. To enable it again, use one of the pre-existing flags: - allow-popups - allow-top-navigation - allow-top-navigation-with-user-activation Or the new dedicated one: - allow-top-navigation-to-custom-protocols Blink componentBlink>SecurityFeature>IFrameSandbox <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3ESecurityFeature%3EIFrameSandbox> Search tagssandbox <https://chromestatus.com/features#tags:sandbox>, iframe <https://chromestatus.com/features#tags:iframe>, allow-top-navigation <https://chromestatus.com/features#tags:allow-top-navigation>, allow-top-navigation-to-custom-protocols <https://chromestatus.com/features#tags:allow-top-navigation-to-custom-protocols> TAG reviewWe think this is not needed. Handling external applications is at the boundary of the web platform. This is a rather minor security fix to break malicious ads. TAG review statusNot applicable Risks Interoperability and Compatibility *# Compatibility risk:* This prevents sandboxed iframe to navigate users toward external applications. Goal is to fill a hole in the sandbox. We want to break existing malicious ads. This is an intended breakage. UMA: 0.015% of the pages are impacted. Positively or negatively. - https://chromestatus.com/metrics/feature/timeline/popularity/4058 UKM: - https://docs.google.com/document/d/118tI2B4Cwk0bX4cgWKvnWCbbu4sq6un-MGfT90o8Oi4 - https://docs.google.com/document/d/1s8bp61FK6VSpzbhy8oLW0R8vOFDdhXdrsYlCSnlvgFA We contacted several websites. Some confirmed they will be positively impacted. Microsoft Teams, the #1 requested adding "allow-top-navigation-to-custom-scheme" to opt-out from this feature individually. We believe the compatibility risk is low: - 0.015% impacted page is rather low - An easy opt-out sandbox flag: "allow-top-navigation-to-custom-scheme" + the pre-existing ones. - An Enterprise policy opt-out : https://chromeenterprise.google/policies/#SandboxExternalProtocolBlocked. - A Finch kill switch. - We plan to do 2 versions with a Devtool warning only. Then enforcing it on *M103*. - Most likely, most impacted website will be "positively impacted", as intended. As a last resort using one of the 4 sandbox flags must be enough for everyone. *# Interoperability risk* Chrome, Firefox and Safari are going to implement it, or have already shipped it partially (Safari). Gecko: Worth prototyping ( https://github.com/mozilla/standards-positions/issues/581) https://github.com/whatwg/html/pull/7654#:~:text=overall%20this%20seems%20good%20though%20and%20we%20might%20pick%20this%20up%20soonish%20in%20firefox WebKit: Shipped/Shipping ( https://lists.webkit.org/pipermail/webkit-dev/2021-September/031988.html) Safari already shipped it the initial version without the new "allow-top-navigation-to-custom-protocols" opt-out flag. WebKit had to introduce a quirk to keep Microsoft Teams working. Safari will replace the quirk with the standardized flag. https://github.com/whatwg/html/pull/7654#issuecomment-1048951254 Web developers: Strongly positive ( https://github.com/whatwg/html/issues/2191) Amazon & multiple independent security researcher have filled feature request: - https://crbug.com/1148777 - https://crbug.com/1250415 - https://github.com/whatwg/html/issues/2191 Other signals: Ergonomics N/A Activation N/A Security This is a web-platform security fix. Debuggability The following Devtool console error message is shown: *Warning*: After Chrome M103, navigation toward external protocol will be blocked by sandbox, if it doesn't contain any of: 'allow-top-navigation-to-custom-protocols', 'allow-top-navigation-by-user-activation', 'allow-top-navigation', or 'allow-popups'. See https://chromestatus.com/feature/5680742077038592 and https://chromeenterprise.google/policies/#SandboxExternalProtocolBlocked *Enforced:* Navigation to external protocol blocked by sandbox, because it doesn't contain any of: 'allow-top-navigation-to-custom-protocols', 'allow-top-navigation-by-user-activation', 'allow-top-navigation', or 'allow-popups'. See https://chromestatus.com/feature/5680742077038592 and https://chromeenterprise.google/policies/#SandboxExternalProtocolBlocked Is this feature fully tested by web-platform-tests <https://chromium.googlesource.com/chromium/src/+/master/docs/testing/web_platform_tests.md> ?No This is at the boundary of the web platform (external apps). This is not observable from within a document. So WPT are not possible. There are browser_tests instead Flag nameSandboxExternalProtocolBlocked Requires code in //chrome?False Tracking bughttps://crbug.com/1253379 Launch bughttps://crbug.com/1260288 Estimated milestones DevTrial on desktop 96 DevTrial on android 96 Link to entry on the Chrome Platform Status https://chromestatus.com/feature/5680742077038592 Links to previous Intent discussionsReady for Trial: https://groups.google.com/a/chromium.org/g/blink-dev/c/yF9j_5gxLgo This intent message was generated by Chrome Platform Status <https://chromestatus.com/>. -- You received this message because you are subscribed to the Google Groups "blink-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAH7Q68V6A8bV-gVowsth70U3kOP7a-N2aZ39LG9R9ry3Q0eYcA%40mail.gmail.com.
