The Chrome Enamel team suggested this would be a good forum to get feedback on an Edge change Microsoft would like to propose for Chromium.
...was changed to hide the "Always open links of this type in the associated app" checkbox.
Following
significant outcry from individuals and enterprises, a Group Policy was introduced in Chromium 79 to permit the checkbox to be shown again. However, most end-users will not benefit from this work, as it's only a policy (not exposed to humans through the browser UI) and after enabling the policy, the
security risk is reintroduced.
Much of the risk inherent in open-without-prompting behavior comes from the site that any random site (
http://evil.example.com) can abuse (previously-granted) ambient permission to launch the protocol handler. If browsers change the option to “Always allow
this site to open
this protocol”, the risk will be significantly reduced such that a user could allow, e.g.
https://teams.microsoft.com to open the msteams protocol without further prompts.
To that end, the Edge team has
landed a change in Edge 82.0.425 that replaces the old flat list of exempted schemes with a new list of Origin/Scheme pairs. Our believe is that this change strikes a better balance between risk and user-annoyance, and it will allow us to restore an origin-scoped checkbox to the UI, unchecked by default:
A few notes about our implementation:
- Exemptions are stored on a per-scheme, per-origin basis (e.g. “Allow teams: from https://teams.microsoft.com“, so if multiple origins use the same scheme, users must exempt each one.
- Stored exemptions are origin specific: “https://site.example” and “https://www.site.example” and “http://site.example” are all different origins.
- Stored exemptions are only available for HTTP and HTTPS origins.
- Exemptions granted while Incognito are forgotten at session's end.
- At present, there is no Group Policy for an admin to push exemptions to the client (https://crbug.com/911605 proposes one)
- To clear stored exemptions, users may continue to use the “Cookies and other site data” checkbox in the Clear Browsing Data dialog box. Note that you can set the time range to anything you like– all Origin+Scheme exemptions will be cleared.
- Mike has expressed interest in exposing a more direct control for viewing/clearing decisions within the Settings WebUI pages.
- The older (non-origin-scoped) excluded_schemes list will not be immediately removed from the code. Instead, it will continue to be respected, but upon use, the origin/scheme will be recorded in the new excluded_scheme_origin_pairs list. In some future milestone (N+1 or 2?) we will remove support for the non-origin-scoped list.
We think that Chrome will benefit from this change as well, so we're interested in getting your feedback before we propose the change via Gerrit CL early next week.
Thanks!
-Eric Lawrence
Microsoft Edge