Don't add csp-headers if none are required #21318
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In 3.2 a tool to adjust Content Security Policy headers in combination with the WebProfiler was added. We encountered a bug in its behavior.
We had CSP-headers that did not have a script-src/style-src nor a default-src (it was something like
form-action: https:
). In that scenario, the ContentSecurityPolicyHandler would addscript-src: 'unsafe-inline' 'nonce-....'
, but that would actually change the "everything is allowed scenario" into "only inline and nonce-... is allowed". The result was only the javascript of WebProfiler was allowed, rather than everything.This PR fixes the scenario where no default-src nor a script-src/style-src is provided. It simply continue's rather than treats it as an empty list of rules that need additional rules.
A bug I did find, but not fix, is the fact that that'unsafe-inline'
is ignored in at least Firefox and Chrome due to the fact there is also a nonce-element in the rule.