[ecrire ↪ fix_summer_security_44] 20 commits

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

Détails : fix: recuperer_url supporte une option callback_valider_url (37fab0f2) · Validations · spip / ecrire · GitLab

==============================
Par Matthieu Marcillaud, le 10 août 2026 à 09h18min :

build: up spip_version_code pour recalculer les caches

Modifié
inc_version.php

Détails : build: up spip_version_code pour recalculer les caches (c9a2640d) · Validations · spip / ecrire · GitLab

==============================
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

Détails : fix: l'appel en POST sur editer_rubrique est déprécié. Si on l'utilise il... (3b120560) · Validations · spip / ecrire · GitLab

==============================
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

Détails : fix: l'appel en POST sur editer_article est déprécié. Si on l'utilise il passe... (69f19bca) · Validations · spip / ecrire · GitLab

==============================
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

Détails : fix: l'appel en POST sur editer_auteur est déprécié. Si on l'utilise il passe... (d82bdbca) · Validations · spip / ecrire · GitLab

==============================
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

Détails : fix: l'appel en POST sur editer_objet est déprécié. Si on l'utilise il passe... (0244c152) · Validations · spip / ecrire · GitLab

==============================
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

Détails : fix: le plongeur de chercher_rubrique() en mode actionnable poste vers... (ecbacf9d) · Validations · spip / ecrire · GitLab

==============================
Par Cerdic, le 10 août 2026 à 09h18min :

fix: |chercher_rubrique{} appelé avec actionable=1 est déprécié

Modifié
inc/filtres.php

Détails : fix: |chercher_rubrique{} appelé avec actionable=1 est déprécié (4c799008) · Validations · spip / ecrire · GitLab

==============================
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

Détails : fix: si champs_editable n'est pas défini, ce n'est pas un objet editorial proprement déclaré (7c5739f0) · Validations · spip / ecrire · GitLab

==============================
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

Détails : fix: verifier les autorisation de modifier login et pass dans... (c6e6c5a1) · Validations · spip / ecrire · GitLab

==============================
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

Détails : fix: find_in_path() refuse les requetes contenant un ../ dans le chemin, cela... (5f110480) · Validations · spip / ecrire · GitLab

==============================
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

Détails : fix: L’échappement SQL appliqué sur un champ date ignore uniquement la fonction NOW() (698655c0) · Validations · spip / ecrire · GitLab

==============================
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

Détails : fix: Le serveur SQL d’une boucle DATA lui est spécifique (0b96db8a) · Validations · spip / ecrire · GitLab

==============================
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

Fix: copie_locale envoie le fichier principal.xml de SVP dans distant/csl (#138) · Issues · spip / ecrire · GitLab

Modifié
inc/distant.php

Détails : fix: distant_trouver_extension_selon_headers() prefere l'extension de l'URL (ad4f42a3) · Validations · spip / ecrire · GitLab

==============================
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

Détails : Merge branch 'fix_recuperer_url_redirections' into '4.4' (88345ea8) · Validations · spip / ecrire · GitLab