spip/ecrire | 20 commits
Par Cerdic, le 1er septembre 2026 à 17h35min :
fix: rétablir l’appel au filtre insert_head_css_conditionnel
Les squelettes sans #INSERT_HEAD_CSS se retrouvent dysfonctionnels car manquant de CSS et JS
Fix: #173
Modifié
public/balises.php
==============================
Par Matthieu Marcillaud, le 1er septembre 2026 à 12h03min :
build: Version 4.4.22
Modifié
CHANGELOG.md
inc_version.php
paquet.xml
Détails : build: Version 4.4.22 (f6100f22) · Validations · spip / ecrire · GitLab
==============================
Par Maïeul Rouquette, le 1er septembre 2026 à 11h10min :
build: up spip_version_code pour recalculer les caches
Modifié
inc_version.php
==============================
Par Maïeul, le 1er septembre 2026 à 10h35min :
Merge branch ‹ fix_security_4906 › into ‹ 4.4 ›
Restriction sur autosave et champs techniques de formulaires
See merge request spip/ecrire!337
Modifié
action/session.php
balise/formulaire_.php
inc/cvt_autosave.php
Détails : Merge branch 'fix_security_4906' into '4.4' (e78cf739) · Validations · spip / ecrire · GitLab
==============================
Par Cerdic, le 1er septembre 2026 à 10h32min :
fix: dans les formulaires les champs _xxx permettent d’injecter du html ou du js mais pas plus
Refs: Connexion · GitLab
Modifié
balise/formulaire_.php
==============================
Par Cerdic, le 1er septembre 2026 à 10h32min :
refactor: les autosave des formulaires sont stockés en JSON dans la session et les variables commençant par un _ sont ignorées
refs: Connexion · GitLab
Modifié
action/session.php
inc/cvt_autosave.php
==============================
Par Maïeul, le 1er septembre 2026 à 10h25min :
Merge branch ‹ security-4901 › into ‹ 4.4 ›
[4.4] Vérifier HTTP_X_FORWARDED_HOST
See merge request spip/ecrire!335
Modifié
inc/utils.php
inc_version.php
Détails : Merge branch 'security-4901' into '4.4' (d1f843a1) · Validations · spip / ecrire · GitLab
==============================
Par Cerdic, le 1er septembre 2026 à 10h23min :
fix: si on a un HTTP_X_FORWARDED_HOST différent de HTTP_HOST on l’utilise mais on ne lui fait confiance que si il est connu
A défaut, les URLs absolues générées par le site, y compris dans les emails, reposeront sur la meta adresse_site
Refs: Connexion · GitLab
Modifié
inc/utils.php
inc_version.php
==============================
Par marcimat, le 1er septembre 2026 à 10h13min :
Merge branch ‹ security-4902 › into ‹ 4.4 ›
[4.4] Vérifications de modèles et d’urls
See merge request spip/ecrire!333
Modifié
inc/modeles.php
inc/urls.php
paquet.xml
Détails : Merge branch 'security-4902' into '4.4' (a52c88a7) · Validations · spip / ecrire · GitLab
==============================
Par Cerdic, le 1er septembre 2026 à 10h09min :
feat: une option remplacer sur la fonction neutraliser_modeles_publics()
Modifié
inc/modeles.php
==============================
Par Matthieu Marcillaud, le 1er septembre 2026 à 10h09min :
feat: fonction urls_type_objet_valide() pour vérifier si un type correspond à un objet URL-able
- Rejet automatique des types hors liste d’objets URL-able
Refs: spip-security/securite#4902
Modifié
inc/urls.php
==============================
Par Matthieu Marcillaud, le 1er septembre 2026 à 10h09min :
feat: Liste d’autorisation et d’interdiction des modèles SPIP pour les contributions publiques
Ajout de
neutraliser_modeles_publics(): neutralise les modèles non autorisés dans un texte publicmodeles_publics_interdits(): liste des modèles toujours neutralisés dans un texte public, même s’ils figurent dans l’allowlistmodeles_publics_autorises(): liste des modèles autorisés dans un texte soumis ou prévisualisé (contributions publiques, formulaires CVT)
Le point d’entrée est neutraliser_modeles_publics().
Les listes sont indexées par contexte (forum, …) et peuvent être complétées par un allowlist explicite.
- Une constante
_MODELES_PUBLICS_AUTORISESpermet de définir les modèles autorisés par défaut pour chaque contexte ou pour tous les contextes. - Un pipeline
modeles_publics_autorisespermet de compléter les listes autorisées pour chaque contexte.
Refs: spip-security/securite#4902
Modifié
inc/modeles.php
paquet.xml
==============================
Par Cerdic, le 1er septembre 2026 à 09h54min :
fix: eviter de générer du cache avec des contextes empoisonnés par du PHP
On ne bloque aucune attaque ici, mais on évite simplement que le cache ne contiennent du code PHP envoyé par une tentative, ce qui est ensuite detecté comme faux positif malware par certains hébergeurs à trois lettres
Refs: Connexion · GitLab
(cherry picked from commit 24b7eb1553bac17c55be8f663cec0d4caa672610)
Modifié
public/cacher.php
==============================
Par marcimat, le 31 août 2026 à 12h27min :
Merge branch ‹ fix_4900_complement › into ‹ 4.4 ›
fix: urlencode() plus facilement les chaines dans safe_export_env()
See merge request spip/ecrire!327
Modifié
public/compiler.php
public/fonctions.php
Détails : Merge branch 'fix_4900_complement' into '4.4' (46d09f41) · Validations · spip / ecrire · GitLab
==============================
Par Cerdic, le 31 août 2026 à 12h24min :
fix: urlencode() plus facilement les chaines dans safe_export_env()
Refs: Connexion · GitLab
Modifié
public/compiler.php
public/fonctions.php
==============================
Par marcimat, le 31 août 2026 à 12h23min :
Merge branch ‹ fix_capture_header › into ‹ 4.4 ›
fix: ne pas se fier qu’a la regexp pour capturer les header()
See merge request spip/ecrire!328
Modifié
public/composer.php
Détails : Merge branch 'fix_capture_header' into '4.4' (44160486) · Validations · spip / ecrire · GitLab
==============================
Par Cerdic, le 31 août 2026 à 12h20min :
fix: ne pas se fier qu’a la regexp et s’assurer que la directive header() est la seule chose de ce bloc PHP
Refs: Connexion · GitLab
Modifié
public/composer.php
==============================
Par marcimat, le 31 août 2026 à 12h19min :
Merge branch ‹ fix_signature_filtres › into ‹ 4.4 ›
fix: signer les filtres insérés via la balise #FILTRE
See merge request spip/ecrire!325
Modifié
public/balises.php
public/composer.php
public/fonctions.php
Détails : Merge branch 'fix_signature_filtres' into '4.4' (03a086be) · Validations · spip / ecrire · GitLab
==============================
Par Cerdic, le 31 août 2026 à 12h02min :
fix: signer les filtres insérés via la balise #FILTRE
Modifié
public/balises.php
public/composer.php
public/fonctions.php
==============================
Par marcimat, le 31 août 2026 à 12h00min :
Merge branch ‹ fix_deprecated_reflection › into ‹ 4.4 ›
fix: Dépréciation PHP 8.4 sur ReflectionMethod
See merge request spip/ecrire!323
Modifié
public/sandbox.php