Componente del tema invalido "estendere la politica di sicurezza dei contenuti"

Sintomi: dopo l’aggiornamento alla 3.4 l’intero forum ha dato “Oops”. A peggiorare le cose, i log sono rimasti completamente silenziosi a riguardo.

C’era un componente del tema con “extend security policy” con valore script-src: 'unsafe-eval' https://redacted.example.com

Questo ha bloccato l’intero forum a causa di un’eccezione lanciata nel dispatcher di azioni, perché c’era uno spazio nel valore.

ActionDispatch::ContentSecurityPolicy::InvalidDirectiveError (Invalid Content Security Policy script-src: \"'unsafe-eval' https://redacted.example.com\". I valori delle direttive non devono contenere spazi bianchi
o punti e virgola. Utilizzare invece argomenti multipli o altri metodi di direttiva.)

Oh, ho dimenticato la cosa più importante. La modalità sicura non ha funzionato!!

5 Mi Piace

Approfondirò la questione e ti darò una risposta. Qual era la versione di Discourse del tuo forum prima dell’aggiornamento alla 3.4?

1 Mi Piace

Era il 3.3.3.

Ciao @michaeld, ho unito una correzione nell’ultima versione di main con FIX: invalid CSP directive sources should allow site to boot with valid CSP directives by tyb-talks · Pull Request #31256 · discourse/discourse · GitHub. Questa è ora disponibile anche in tests-passed e stable.

Questa modifica nel comportamento della gestione delle direttive CSP è derivata da una patch di sicurezza backportata in Rails - ne parlo più in dettaglio nel PR. :slight_smile: Discourse ora filtrerà tali valori prima di costruire la CSP.

Per quanto riguarda la modalità Safe, poiché disabilita solo il lato JavaScript delle cose, non avrebbe aiutato in questo caso poiché questi dati vengono elaborati lato server.

5 Mi Piace

Questo argomento è stato chiuso automaticamente 3 giorni dopo l’ultima risposta. Non sono più ammessi nuovi messaggi.