bigup : mise à jour des CSP suite mise à jour SPIP

Pour info, suite à la mise à jour de SPIP 4.1 vers 4.2, j’ai eu la surprise de devoir modifier les CSP du site : il m’a fallu élargir img-src, qui était * data: vers * data: blob: pour ne pas rejeter des requêtes lancées par bigup (lors d’un téléchargement) vers genre blob:https://monsite/ungroshash

C’est-il connu/normal et ça a t il été déjà notifié quelque part ou sinon ça se pourrait-il ?

Aucune idée.
Mais tu partages quelque part ta recette de CSP ?
C’est dans un plugin peut être ?

Encore quelque chose que j’aimerais bien faire si j’avais un peu plus de temps et d’énergie tiens, un plugin CSP « opinionated », comme on dit en anglais.

Vraiment une très bonne idée @nicod !
Il faudra savoir comment gérer les frame-src et img-src à la volée quand les rédacteurs insèreront des iframe, dans un article, avec appel vers une plateforme (par ex. : Viméo, Youtube, Dailymotion, plateforme de réservation tourisme,etc.).

Rien d’original :

  • Au début je met le moins possible d’autorisations
  • Puis j’élargis quand ya besoin (par exemple ici j’ai ajouté blob: sur img-src suite à l’upgrade de Bigup).
  • Mais d’abord, si possible, je supprime le besoin d’élargissement dans le code ou les squelettes. Comme je me prend pas trop longtemps la tête avec ça non plus, il reste des unsafe et des *.

Voici 2 exemples dans le .htaccess, en ne laissant que les urls générales :

Header set Content-Security-Policy "base-uri 'self' ; default-src 'self' unsitepartenaire.com   ; img-src * data: blob: ; script-src 'self' 'unsafe-inline' 'unsafe-eval' unsitepartenaire.com ; object-src 'none' ; style-src 'self' 'unsafe-inline' ; frame-src 'self' unautresitepartenaire.info player.vimeo.com www.youtube.com www.dailymotion.com www.google.com www.arteradio.com video.google.fr"
Header set Content-Security-Policy "base-uri 'self' ; default-src 'self' ; img-src * data: ; object-src 'self' ; script-src 'self' 'unsafe-inline' 'unsafe-eval' www.paypal.com ; style-src 'self' 'unsafe-inline' 'unsafe-eval' ;                                   frame-src 'self' unsitepartenaire.fr www.paypal.com player.vimeo.com www.youtube.com www.youtube-nocookie.com www.dailymotion.com www.google.com www.arteradio.com video.google.fr unetripoteedesitespartenaires.ext www.francebleu.fr www.helloasso.com ; connect-src 'self' www.paypal.com ;"

C’est un peu risqué de modifier le htaccess en plugin.
Mais ç’avait déjà été fait par je ne sais plus quel plugin de cerdic.

En 2008 par Expresso Expresso - SPIP-Contrib , dont le source ne semble plus disponible mais dont la doc indique « Pour initialiser l’expresso, il faut ajouter la chaine XXXEXPRESSOXXX dans le fichier .htaccess situé à la racine du site. A cet endroit du .htacess, Expresso intègrera les directives de RewriteRules qui … »