Ces versions corrigent des failles critiques dont une pouvait permettre de l’exécution de code (RCE) depuis l’espace public dans certains contextes de saisie utilisateur, et d’autres utilisant des XSS entre auteurs depuis l’espace d’administration pouvant permettre de réaliser une promotion de privilège de son compte dans le cadre de sites multi-utilisateurs.
Encore une fois, merci à Abyss Watcher, SpawnZii et Sapperlotti pour les analyses complètes et détaillées transmises.
La faille permettant l’exécution de code (RCE) est prise en charge par l’écran de sécurité.
Dans un cadre préventif afin de limiter l’exploitation de failles XSS, SPIP (en 4.0 et 4.1) envoie maintenant, dans l’espace privé, une entête CSP (Content Security Policy) « sandbox » qui limite certaines activités sur les iframes. Cela pourrait empêcher le fonctionnement correct de certains sites déployés dans une iframe (heureusement, il ne devrait pas y avoir grand monde concerné).
De même, en prévention, nous avons ajouté (en SPIP 3.2, 4.0 et 4.1) ce CSP (Content Security Policy) « sandbox » dans une règle du fichier htaccess.txt
fourni avec SPIP lors de l’appel à des fichiers du répertoire IMG/
Il est conseillé donc de mettre à jour votre fichier .htaccess
(ou équivalent) en conséquence. Pour Apache, cela consiste à ajouter la règle suivante :
En plus des corrections de sécurité, la branche 4.1 a bénéficié de corrections de bugs, dont certaines ont été reportées dans la branche 4.0.
Si vous vous demandez pourquoi on est passé de la 4.1.2 à la 4.1.5, c’est tout simplement parce que la 4.1.3 et la 4.1.4 sont parties en fumée :p (plus sérieusement, ces tags comportaient une erreur de release).
À propos de SPIP 4.2
Comme vous vous en doutez, nous n’avons pas avancé autant que souhaité initialement sur une version SPIP 4.2, qui ne sortira donc pas fin juillet et est donc repoussée (au moins) après cet été brûlant. La maintenance de SPIP 4.1 est évidemment maintenue tant qu’une version 4.2 n’est pas proposée.
Corrections principales apportées par SPIP 4.1.5
SPIP Core
Security
- #5256 Bloquer la modification d’un auteur via une XMLHttpRequest ou une iframe
- spip-team/securite#4832 Envoyer un CSP sandbox sur tous les documents de IMG via une RewriteRule du htaccess.txt modèle
- spip-team/securite#4835 Mise a jour de l’écran de sécurité en version 1.4.2
- spip-team/securite#4835 Sécuriser le paramètre
_oups
dans le formulaire d’édition de liens - spip-team/securite#4833 Signaler visuellement les liens javascript dans les zones éditoriales
- spip-team/securite#4831 Correction des traitements des balises
#INFO_
dans l’espace privé
Added
- spip-team/securite#4832 spip-team/securite#4833 une fonction
auth_controler_password_auteur_connecte()
pour securiser une action
Fixed
- #5228 Rétablir le filtrage des valeurs
null
envoyées à la fonctionobjet_modifier_champs()
- #5223 Éviter une erreur fatale sur
sql_selectdb()
sur une base inexistante en mysql - #5218 Éviter l’autocomplétion d’identifiants email en éditant un auteur
- #5209 #5221 Fonctionnement de Imagick sous Windows
- #5206 Échouer en minipres si on ne peut pas écrire le fichier des clés lors du login
- #5213 Prendre en compte le sens du critère
tri
en présence d’un trimulti
- #5259 Fatale sur
autoriser
appelé avec un identifiant d’auteur inexistant - #5256 Correction de
#HTTP_HEADER{}
quand la valeur contenait un simple quote - #5256 Corriger
refuser_traiter_formulaire_ajax()
qui ne fonctionnait pas quand un form contenait un élément avec un name ou idsubmit
- spip-contrib-extensions/formidable#119 Échapper les noms de fichier quand on génère une balise img à l’aide du filtre
|balise_img
- #4826 Vignettes fallback quand on ne sait par réduire la taille d’une image du fait de son format
- #5232 Correction notice PHP sur
signale_edition()
- #5231 Correction deprecated PHP 8.1 sur
sql_quote(null)
- #5242 Correction warning sur
generer_objet_lien()
- #5239 Éviter une fatale sur un appel de
generer_objet_info()
- spip-contrib-extensions/agenda#57 Éviter une erreur de typage à l’enregistrement dans certains formulaires
- #5190 Dans le formulaire de configuration de l’email de suivi, pouvoir indiquer une liste d’emails séparés par des virgules
- #5204 Fix le login lors de la restauration des clés depuis un compte webmestre
- #5118 Fix les viewbox erronées lors de la copie locale des SVG sans viewbox
- #5194 Améliorer le comportement du bouton « Ajourd’hui » dans le dateur en surlignant le jour courant + ajout option data-todayhighlight sur les input.date + fix option data-clearbtn
Big Upload
Added
- #4860 Ajout de deux events à l’API JS
bigup.fileAdded
&bigup.fileSubmitted
- #4861
Bigup.send(FormData)
un raccourci pour poster en ajax le formulaire.
Changed
- #4860 API JS, compléter l’event ready pour lui passer l’objet form en paramètre
Fixed
- #4861 Ne pas perdre certains liens de documents en changeant le fichier d’un document avec Bigup
Deprecated
- #4861
Bigup.getFormData()
est déprécié. UtiliserBigup.buildFormData()
Compresseur
Fixed
- #4851 Fix un bug sur les shorthands padding/margin
Images
Fixed
- Usage de
image_typo
sous Windows
Medias
Security
- spip-team/securite#4832 et spip-team/securite#4833 appliquer _TRAITEMENT_TYPO sur le champs CREDITS et bien visualier le html suspect
Fixed
- #4893 Il ne faut pas contraindre la taille des SVG
- #4891 Amélioration du message d’erreur de taille de document
- #4889 Refaire un alter sur la champ mode avant la migration des logos, par précaution
SVP
Security
- spip-team/securite#4832 et spip-team/securite#4833 Sécuriser le téléchargement de zip de plugin ou l’ajout d’un dépôt par saisie du mot de passe
Fixed
- #4854 Tout cocher/décocher n’agit que sur les plugins visibles de la liste
Urls Etendues
Added
- #4818 Tri possible par URLs verrouillées dans les listes d’URLs
Fixed
- #4818 Coquille sens de tri sur la liste des urls
Corrections principales apportées par SPIP 4.0.8
SPIP 4.0 est mis à jour avec les différents correctifs de sécurité.
Il corrige également certains bugs :
Corrections principales apportées par SPIP 3.2.16
- SPIP 3.2 est mis à jour avec les différents correctifs de sécurité.
- Correction de sa compatibilité avec PHP 5.4 (perdue par inadvertance en SPIP 3.2.15)
Mettre à jour en utilisant le spip_loader
Vous pouvez aussi mettre à jour au moyen de la dernière version du spip_loader (version 5.2.1)
Le spip_loader est maintenant distribué à l’adresse suivante
https://get.spip.net/
Le spip_loader.php est maintenant au format binaire phar. Si vous avez besoin de personnaliser l’installation en définissant des constantes, il vous faut créer un fichier de configuration spip_loader_config.php (cf https://www.spip.net/fr_article5705.html).
Résumé des versions de SPIP
Branche | Version | Suivi | Compatibilité PHP |
---|
SPIP 4.1 | SPIP 4.1.5 | Branche stable | PHP 7.4 à PHP 8.1 |
SPIP 4.0 | SPIP 4.0.8 | Branche stable | PHP 7.3 à PHP 8.0 |
SPIP 3.2 | SPIP 3.2.16 | Branche stable | PHP 5.4 à PHP 7.4 |
Les versions SPIP 3.1 et antérieures ne sont plus maintenues.
Pour connaître le détail des versions maintenues :
https://www.spip.net/fr_article6500.html
Comment être tenu au courant de ces annonces ?
C’est simple, inscrivez-vous sur la mailing liste https://discuter.spip.net/c/spip-ann/13
Bien sûr, les réseaux sociaux sont de la partie :
- Seenthis : https://seenthis.net/people/spip
- Twitter : https://twitter.com/spip
- Facebook : https://www.facebook.com/spip.net
- Mamot : https://mamot.fr/@spip
Une question, besoin d’aide ?
En cas de problème ou de difficultés, il y aura certainement quelqu’un pour vous aider sur IRC, N’hésitez pas à venir poser vos questions https://irc.spip.net
Vous pouvez aussi poster un message et échanger sur :
- La liste des utilisateurs et utilisatrices https://discuter.spip.net/c/spip/6
- La liste du développement spip-dev https://discuter.spip.net/c/spip-dev/5
Nous vous rappelons que pour signaler une faille, il suffit d’envoyer un mail à spip-team@rezo.net.
Messages
21 juillet 2022, 20:23, par Mathieu
Merci pour la faille RCE corrigée via l’écran de sécurité, vous m’avez sauvé mon WE !
21 juillet 2022, 20:30, par petit rat
Merci pour le boulot fourni même en plein été. Viva spip
21 juillet 2022, 21:21, par Marcimat
Une coquille s’est glissée dans le plugin SVP d’administration des plugins, sur SPIP 4.0.8 et SPIP 4.1.5, qui rend le bouton « Cocher toutes les mises à jour » inopérant !
La correction est riquiqui (un
false
qui devienttrue
) si ça vous intéresse en attendant une prochaine version…https://git.spip.net/spip/svp/commit/f992981f
29 juillet 2022, 13:35, par RealET
Bonjour,
J’ai une question sur la gravité attachée à ce sandbox sur IMG/
Quel est le risque de ne pas le faire ?
PS : par ailleurs, je cherche la syntaxe à utiliser dans le cadre de la mutualisation facile de SPIP, avec des dossiers en sites/*/IMG/