CSP script-src had 'unsafe-inline' — markup-injection-XSS mogelijk #94

Closed
opened 2026-05-26 18:23:30 +00:00 by jesse-a · 1 comment
Owner

Severity: MEDIUM

next.config.ts zette script-src 'self' 'unsafe-inline' — een wel-bekende verzwakking die markup-injection-XSS mogelijk maakt zodra ergens HTML-output unsafely wordt opgebouwd.

Fix: per-request 128-bit nonce via crypto.getRandomValues in src/middleware.ts. CSP: script-src 'self' 'nonce-XYZ' 'strict-dynamic'. Next leest het nonce uit de request-header en injecteert 'm automatisch in z'n hydration-scripts. Server-componenten kunnen via headers().get('x-nonce') zelf nonce-bearing scripts plaatsen indien nodig.

style-src 'unsafe-inline' blijft staan omdat React style={{}}-attributen rendert.

Files: src/middleware.ts, next.config.ts

**Severity: MEDIUM** `next.config.ts` zette `script-src 'self' 'unsafe-inline'` — een wel-bekende verzwakking die markup-injection-XSS mogelijk maakt zodra ergens HTML-output unsafely wordt opgebouwd. **Fix**: per-request 128-bit nonce via `crypto.getRandomValues` in `src/middleware.ts`. CSP: `script-src 'self' 'nonce-XYZ' 'strict-dynamic'`. Next leest het nonce uit de request-header en injecteert 'm automatisch in z'n hydration-scripts. Server-componenten kunnen via `headers().get('x-nonce')` zelf nonce-bearing scripts plaatsen indien nodig. `style-src 'unsafe-inline'` blijft staan omdat React `style={{}}`-attributen rendert. **Files**: src/middleware.ts, next.config.ts
Author
Owner

Opgelost in commit 4a28f47.

Opgelost in commit 4a28f47.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
jesse-a/OpenCRM#94
No description provided.