Cette version corrige deux petites failles de type XSS : une dans l’espace privé lors de l’utilisation de balises <iframe> malicieuses et l’autre dans l’espace public pour certains cas d’usage à la marge.
Encore une fois, merci à Arthur Deloffre (Vozec), Louka Jacques-Chevallier (Laluka) et Philippe Boussin pour les signalements.
Ces failles ne sont pas prises en charge par l’écran de sécurité.
Remarque importante concernant les <iframe> dans l’espace privé
Dorénavant, un attribut sandbox est ajouté automatiquement aux balises <iframe> dans l’espace privé, afin d’éviter des failles de type XSS. Par conséquent, certaines <iframe> ne sont plus affichées correctement dans l’espace privé. Rassurez-vous cela n’a aucun impact dans l’espace public.
Pour les personnes utilisant des services de vidéo externes (comme peertube, youtube ou dailymotion) qui souhaitent rétablir l’affichage de ces vidéos dans l’espace privé, il convient d’installer la dernière version du plugin oEmbed (v3.5.0).
La version 4.4.8 apporte les améliorations ou corrections de bugs suivantes :
- Sécuriser l’affichage des iframe éventuelles soit par échappement soit par sandboxing selon les cas
- Améliorer la détection de contenus malicieux dans
echapper_html_suspect() - La fonction safehtml() accepte un tableau d’options en second argument, vide par défaut, que l’on passe à
inc_safehml_dist()(ou fonction surchargée) - Fonction
afficher_html_suspect()pour assurer le rendu du HTML suspect échappé - Corrections de deprecated en PHP 8.5+
- Éviter une indéfinie lors de l’affectation des doublons documents
- Si un pipeline corrompt
args/data, le dénoncer dans les logs et en erreur_squelette -
prepare_icone_base()envoyait une classe erronée depuis le passage en SVG - Inscription : ne pas générer 2 fois de suite un jeton
- Inscription : rétablir les paramètres passés au modèle de notification
- Authentification HTTP : assigner l’auteur à la session uniquement si on a pu le récupérer
- Affichage de l’ID d’un auteur sur page Visiteurs
- Faire fonctionner le sélecteur d’article avec le paramètre
limite_branche - En l’absence de date de rédaction antérieure, ne pas pré-remplir avec
0000-00-00 00:00 - Sur petit écran, afficher le nom des auteurs dans les listes
- Afficher le nombre d’articles dans les différentes listes de la page d’accueil
- Chaînes de langue singulier et pluriel sur toutes les listes d’objets qui manquaient
- Limiter à 500000 les listes d’articles paginés dans l’espace privé et à 25 pour les articles les plus récents
- Sécuriser les paramètres
alignetclasspour les modèles de documents - Prise en charge des documents de type
apk - Autorisation de drag’n’drop plus spécifique dans le plan de l’espace privé pour être configurable finement
- Options
allowIframeetallowIframeURIRegexppermettant d’accepter des iframe, éventuellement sur la base d’une regexp pour l’URL. -
inc_safehtml_dist()accepte un tableau d’options en second argument, vide par défaut. - Mise à jour des librairies htmlpurifieur-html5 en 0.1.12 & htmlpurifier en 4.19.0 (corrections diverses & PHP 8.4+)
- Correction d’une erreur fatale avec le plugin
stat_objets - Fonction
svp_depoter_distant_variantes_url()pour générer des variantes d’url pour les dépôts - Actualise les dépôts distants avec les nouvelles variantes d’archives par branches SPIP, plus légers
- Correction d’un bug pour les plugins avec extension PHP requise sans compatibilité associée
- Optimisations mémoire lors de la lecture des dépôts de plugins
- Prendre en charge la constante
_DEV_VERSION_SPIP_COMPATdans la fonctionsvp_phraser_archives() - Inspecter aussi les balises
input,form,buttonetadans la sécurisation des contenus - Homogénéiser les détections de la même manière que
echapper_html_suspect()du core - Utiliser les fonctions
afficher_html_suspect()etis_html_safe() - Suppression des fichiers
backend-breves.htmletbreve.html(intégrés au plugin Brèves)
Mettre à jour en utilisant le spip_loader
Vous pouvez aussi mettre à jour au moyen de la dernière version de spip_loader (version 6.2.1).
spip_loader est distribué à l’adresse suivante : https://get.spip.net/
Le fichier spip_loader.php est un script compilé dans le 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.4 | 4.4.8 | Maintenance active | PHP 7.4 à PHP 8.5 |
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
- 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 ou sur notre serveur Discord.
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 à securite@spip.net.
SPIP Blog
Messages
12 février, 13:07, par Maïeul
Attemtion bug avec le Formidable et cette sortie. La version 6.2.0 du plugin saisies, qui vient d’être envoyé, corrige cela.
12 février, 13:29, par Said
Merci à tous pour tout le travail qui est fait pour Spip !
12 février, 14:15, par 1138
Bug ?
Depuis la mise à jour, les pages privées de mes articles contenant un oEmbed Youtube me donnent une erreur 503 :
Pas de souci cependant sur les pages publiques.
12 février, 14:35, par erational
Chez OVH, si le spip_loader.php vous renvoie l’erreur suivante
C’est que votre hébergement OVH a bloqué les fonctions Curl.
Il faut vous connecter dans l’espace client > hébergement web
Vous obtenez un pop-in :
Il suffit de valider en confirmant que vous avez résolu le problème.
Cela permet de réactiver Curl et le spip_loader (attention, cela peut prendre plusieurs minutes avant qu’OVH réactive la fonction).
12 février, 14:48, par b_b
> Depuis la mise à jour, les pages privées de mes articles contenant un oEmbed Youtube me donnent une erreur 503
Je ne reproduis pas de mon côté.
12 février, 15:04, par Maïeul
@1138 peut être le souci chez ovh ?
12 février, 15:05, par Maïeul
Le plugin « Interface de traduction pour objets » était bugé, cette maj à revélée ce bug. Une maj 2.2.1 du plugin en question resoud le problème. Elle sera disponible dans 1 h ou 2.
13 février, 17:24, par AlainB
Bonjour,
Depuis la version 4.4.8, impossible de faire Activité > Afficher les visiteurs. J’ai 20 erreurs dans le squelette prive/objets/liste/visiteurs.html : double définition de boucle, #PAGINATION sans critère pagination, #TRI sans critère de tri,.........
AlainB
13 février, 17:48, par 1138
@b_b @Maïeul
Merci pour vos réponses.
Désolé de répondre tardivement : j’ai été occupé. Mais j’ai pu faire des tests : si je désactive tous les plugins sauf oEmbed et que je vide le cache, j’ai toujours ce problème.
En désactivant oEmbed (que les autres plugins soient activés ou non), ça refonctionne.
J’ai ajouté oEmbed à un Spip où il n’était pas (mais sur le même serveur Infomaniak, même version de php, etc.), aucun problème. Ça semble donc lié à la configuration du site.
J’ai aussi supprimé oEmbed du site problématique, ai supprimé la configuration dans spip_meta puis réinstallé oEmbed : erreur 503. :(
Pas d’erreur php et rien n’est indiqué dans les logs (même en augmentant la verbosité). La seule chose que je vois, c’est l’apparition d‘un cadre rouge autour de la div.cadre-formulaire-editer lors de l’enregistrement de l’article et, bien sûr, l’erreur 503 sur la page privée de l’article.
La page de modification de l’article fonctionne, ainsi que les crayons.
Bon, ce week-end, personne ne devrait publier sur le site, je reverrai ça lundi.
Bon week-end !
PS : je reproduis l’erreur d’AlainB.
13 février, 19:04, par Philippe B.
Bonjour,
J’ai également le même problème d’erreur 503 côté privé sur les articles ayant une vidéo Youtube avec Oembed sur mon site hébergé chez Infomaniak. Probablement la nouvelle sécurité sur les Iframes !?
Je reproduis aussi le problème pour afficher les visiteurs signalé par AlainB.
Cordialement
13 février, 19:59, par b_b
@AlainB le bug de la page des visiteurs a été corrigé cf https://git.spip.net/spip/prive/-/merge_requests/121, le correctif sera dispo dans la prochaine version ;)
13 février, 21:34, par Maïeul
qulle version de oembed ?
13 février, 21:57, par Philippe B.
@Maïeul
J’ai essayé avec la 3.4 et la 3.5 d’Oembed et le problème est présent dans les 2 cas.
13 février, 22:20, par 1138
@Maïeul : 3.5.0
13 février, 23:50, par Maïeul
@philippeB @1138 je pense avoir trouvé le pourquoi de cela, et une solution
https://git.spip.net/spip/tw/-/merge_requests/4899
a confirmer tout de meme
14 février, 11:06, par 1138
Je confirme que ça résout mon problème.
(J’attends quand même la fin des débats en cours pour mettre ça en prod.)
Merci et bon week-end !
17 février, 16:41, par Aude
Bonjour
Depuis la mise à jour j’ai un souci en admin sur une seule rubrique du site et 3 articles qu’elle contient (mais pas toutes, alors qu’elles sont toutes sous le même dev...), avec une erreur "503 Service Unavailable
The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later"
En public, pas de souci, la rubrique ou l’article s’affiche bien, mais si je veux y accéder en admin, j’ai l’erreur 503.
(pas d’oembed dans la rub ou l’article concerné).
J’ai fini par désactiver les plugins, le souci vient du couteau suisse, et de mail crypt plus particulièrement. Une fois désactivé Mail crypt, je récupère l’accès à l’admin de la rubrique en particulier.
Autre remarque la mise à jour automatique du couteau suisse plante (v.1.16.1), le lien vers le serveur distant pose problème (l’url renvoie sur une page introuvable).
j’ai réinstallé couteau suisse via l’archive pour la 1.17.0 -> la réactivation de mail crypt renvoie l’erreur 503. J’ai re désactivé du coup.
17 février, 16:44, par b_b
@Aude, c’est un effet de bord des correctifs de sécurité de la 4.4.8, la version 4.4.9 qui sortira demain corrigera ce bug ;)
18 février, 18:56, par Maïeul
Cela étant Aude, si tu n’utilise QUE la lame mailcrypt du couteau suisse, autant utiliser le plugin natif.
20 février, 08:30, par Aude
Hello
Merci pour la mise à jour ça résoud le souci erreur 503 pour mailcrypt. (Maieul, j’utilise d’autres fonctionnalités du couteau mais merci pour l’info).
Le plugin Couteau suisse ne veut toujours pas se mettre à jour via l’interface mais ça passe par le zip.
Merci pour la réactivité en tout cas !