Skip to content

fix: append nonce alongside unsafe-inline instead of replacing it#3842

Open
SisyphusZheng wants to merge 1 commit into
freshframework:mainfrom
SisyphusZheng:feat/csp-insecure-unsafe-inline
Open

fix: append nonce alongside unsafe-inline instead of replacing it#3842
SisyphusZheng wants to merge 1 commit into
freshframework:mainfrom
SisyphusZheng:feat/csp-insecure-unsafe-inline

Conversation

@SisyphusZheng

@SisyphusZheng SisyphusZheng commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

Problem

When useNonce: true, the CSP middleware replaces 'unsafe-inline' with 'nonce-{value}' using replaceAll(). This prevents users from keeping 'unsafe-inline' as a fallback for older browsers that don't support CSP Level 3 nonces.

Per discussion in #3813, the fix is simpler than adding a new option: stop stripping 'unsafe-inline' and instead append the nonce alongside it.

Solution

Change replaceAll -> replace, so the nonce is appended while 'unsafe-inline' stays. Users who want only the nonce simply omit 'unsafe-inline' from their directives.

Verification

deno test -A packages/fresh/src/middlewares/csp_test.tsx — 12 passed, 0 failed

Closes #3813

@SisyphusZheng SisyphusZheng force-pushed the feat/csp-insecure-unsafe-inline branch from 88526e4 to 86d6cde Compare June 11, 2026 13:46
@SisyphusZheng SisyphusZheng reopened this Jun 11, 2026
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

Successfully merging this pull request may close these issues.

Feature Request: adding insecureUnsafeInline property to CSP middleware

1 participant