spip/ecrire | 20 commits
Par Cerdic, le 10 août 2026 à 09h18min :
fix: recuperer_url supporte une option callback_valider_url
Cela permet de valider chaque URL de redirection intermédiaire
Refs: spip-security/securite#4897
Modifié
inc/distant.php
==============================
Par Matthieu Marcillaud, le 10 août 2026 à 09h18min :
build: up spip_version_code pour recalculer les caches
Modifié
inc_version.php
==============================
Par Matthieu Marcillaud, le 10 août 2026 à 09h18min :
feat: Signature sur les jobs
Chaque job est maintenant signé : pour être valide, il faut passer par un appel à queue_add_job().
Refs: spip-security/securite#4895
Ajouté
maj/2026.php
Modifié
base/objets.php
base/upgrade.php
inc/queue.php
inc_version.php
paquet.xml
Détails : feat: Signature sur les jobs (d101fb38) · Validations · spip / ecrire · GitLab
==============================
Par Matthieu Marcillaud, le 10 août 2026 à 09h18min :
feat: ajout de SpipCles::secret_des_actions()
La clé retournée mixe la meta secret_des_actions (bdd) avec une clé secret_des_actions (fichier).
Il devient plus difficile de trouver la clé de hachage d’action à partir d’une simple injection SQL.
Refs: spip-security/securite#4891
Modifié
inc/securiser_action.php
src/Chiffrer/SpipCles.php
Détails : feat: ajout de SpipCles::secret_des_actions() (93f20544) · Validations · spip / ecrire · GitLab
==============================
Par Cerdic, le 10 août 2026 à 09h18min :
fix: l’appel en POST sur editer_rubrique est déprécié. Si on l’utilise il passe par une autorisation explicite
Modifié
action/editer_rubrique.php
==============================
Par Cerdic, le 10 août 2026 à 09h18min :
fix: l’appel en POST sur editer_article est déprécié. Si on l’utilise il passe par une autorisation explicite
Modifié
action/editer_article.php
==============================
Par Cerdic, le 10 août 2026 à 09h18min :
fix: l’appel en POST sur editer_auteur est déprécié. Si on l’utilise il passe par une autorisation explicite
Modifié
action/editer_auteur.php
==============================
Par Cerdic, le 10 août 2026 à 09h18min :
fix: l’appel en POST sur editer_objet est déprécié. Si on l’utilise il passe par une autorisation explicite
Modifié
action/editer_objet.php
==============================
Par Cerdic, le 10 août 2026 à 09h18min :
fix: le plongeur de chercher_rubrique() en mode actionnable poste vers l’action ‹ instituer_parent_objet › qui ne considère que le post sur id_parent et vérifie l’autorisation d’instituer l’objet avant toute action
Ajouté
action/instituer_parent_objet.php
Modifié
inc/filtres_ecrire.php
==============================
Par Cerdic, le 10 août 2026 à 09h18min :
fix: |chercher_rubrique{} appelé avec actionable=1 est déprécié
Modifié
inc/filtres.php
==============================
Par Cerdic, le 10 août 2026 à 09h18min :
fix: si champs_editable n’est pas défini, ce n’est pas un objet editorial proprement déclaré
On ignore les valeurs éventuellement POSTées et on ne considère que la variable $set
Refs: spip-security/securite#4893
Modifié
action/editer_objet.php
==============================
Par Cerdic, le 10 août 2026 à 09h18min :
docs: correction du PHPDoc
Modifié
inc/modifier.php
Détails : docs: correction du PHPDoc (cb49df10) · Validations · spip / ecrire · GitLab
==============================
Par Cerdic, le 10 août 2026 à 09h18min :
fix: verifier les autorisation de modifier login et pass dans auteur_instituer() car ce sont bien des informations sensibles
Refs: spip-security/securite#4894
Modifié
action/editer_auteur.php
==============================
Par Cerdic, le 10 août 2026 à 09h18min :
fix: find_in_path() refuse les requetes contenant un …/ dans le chemin, cela fait sortir du document_root
Refs: Connexion · GitLab
Modifié
inc/utils.php
==============================
Par Matthieu Marcillaud, le 10 août 2026 à 09h18min :
fix: L’échappement SQL appliqué sur un champ date ignore uniquement la fonction NOW()
Refs: spip-security/securite#4892
Modifié
req/mysql.php
req/pg.exp.php
req/sqlite_generique.php
==============================
Par Matthieu Marcillaud, le 10 août 2026 à 09h18min :
fix: Réparer le filtre ajax des modèles
Un modèle peut avoir une option ajax, peu connue.
Celle-ci ne fonctionnait plus comme attendue, rechargeant toute la page.
L’ajax dans inclure_modele() ne passe pas par l’option ajax de recuperer_fond() comme il devrait logiquement,
pour analyser ensuite simplement le retour du modele qui fournirait une classe CSS ‹ spip_lien_ok ›,
indiquant que le modèle a bien traité le lien fourni (les cas [<modele|xxx>->https://www.spip.net])
pour éviter que SPIP ajoute un lien englobant.
Cependant, il manquait alors la transmission de certains contextes nécessaires.
Refs: spip-security/securite#4889
Modifié
public/assembler.php
Détails : fix: Réparer le filtre ajax des modèles (d2332007) · Validations · spip / ecrire · GitLab
==============================
Par Matthieu Marcillaud, le 10 août 2026 à 09h18min :
fix: Le serveur SQL d’une boucle DATA lui est spécifique
Il ne doit pas utiliser le serveur SQL par défaut,
ce qui pouvait altérer certains échappements de code ultérieurement.
Refs: spip-security/securite#4888
(cherry picked from commit ead6b4bcb5dde3989c76a369c044340cd1caef1b)
Modifié
public/phraser_html.php
==============================
Par marcimat, le 10 août 2026 à 09h06min :
Merge branch ‹ fix_extension_138 › into ‹ 4.4 ›
fix: distant_trouver_extension_selon_headers() prefere l’extension de l’URL
See merge request spip/ecrire!293
Modifié
inc/distant.php
Détails : Merge branch 'fix_extension_138' into '4.4' (80e434a1) · Validations · spip / ecrire · GitLab
==============================
Par Cerdic, le 10 août 2026 à 08h57min :
fix: distant_trouver_extension_selon_headers() prefere l’extension de l’URL
refactor de la fonction pour utiliser pathinfo() au lieu de preg_match, et des noms de variable signifiants
on préfère les extensions de l’URL ou du Content-Disposition: attachment
Modifié
inc/distant.php
==============================
Par marcimat, le 10 août 2026 à 08h41min :
Merge branch ‹ fix_recuperer_url_redirections › into ‹ 4.4 ›
fix: changement de méthode par recuperer_url en cas de 301/302/303
See merge request spip/ecrire!291
Modifié
inc/distant.php