Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot apply require-trusted-types-for 'script' Content-Security-Policy #985

Open
tojaroslaw opened this issue Nov 18, 2024 · 0 comments
Open

Comments

@tojaroslaw
Copy link

tojaroslaw commented Nov 18, 2024

Our SOC-2 auditor identified a vulnerability risk with our content security policy because we didn't have explicit list of trusted-types in our application's Content-Security-Policy. In theory, if a 0-day exploit was found, someone could inject malicious javascript into the page and the Content-Security-Policy would block ordinary users from seeing it unless they manually edited the local response headers. The CSP acts as a last line of defense against XSS.

The usual fix is to add require-trusted-types-for 'script' to our CSP, find which elements it is blocking and whitelist them. However, this does not work on the docs page because the elements rendered by the Swagger Docs do not have a trustedType associated with them to whitelist.

We do not have a lot of frontend resources available at the moment, so wrapping everything in the frontend code in our own trusted types would be a heavy lift as a workaround. What I would like is for the swagger components to have their own trustedType(s) that I can whitelist on the trusted-types section of the CSP so the docs page will actually render instead of looking like this:

Screenshot 2024-11-18 at 1 03 49 PM

@tojaroslaw tojaroslaw changed the title Cannot apply require-trusted-types-for: 'script' Content-Security-Policy Cannot apply require-trusted-types-for 'script' Content-Security-Policy Nov 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant