The related origins validation procedure says to fetch the webauthn well-known URL. But the actual definition of "fetch" seems under-specified. It says not send credentials or a referrer, but leaves open some important details, like how CSP should be handled. This can lead to partial CSP bypasses, where the User Agent makes a cross-origin request to a .well-known/webauthn resource, even if the page has a CSP directive that prohibits cross-origin fetches.
It appears to be best practice to reference the Fetch spec in cases like this, specifically the section on setting up a request and invoking the fetch API with it.
There are a couple of examples in other specs that we could probably follow, e.g. SPC or Payment Method Manifests
The related origins validation procedure says to fetch the webauthn well-known URL. But the actual definition of "fetch" seems under-specified. It says not send credentials or a referrer, but leaves open some important details, like how CSP should be handled. This can lead to partial CSP bypasses, where the User Agent makes a cross-origin request to a .well-known/webauthn resource, even if the page has a CSP directive that prohibits cross-origin fetches.
It appears to be best practice to reference the Fetch spec in cases like this, specifically the section on setting up a request and invoking the fetch API with it.
There are a couple of examples in other specs that we could probably follow, e.g. SPC or Payment Method Manifests