← Retour à l'accueil / Actualités
Sécurité PrestaShop 📅 10 Novembre 2026 ⏱️ 8 min de lecture ✍️ Par Lefi Abdelmonem

PrestaShop 9.2.1 : 18 failles corrigées, à vérifier pour le SEO

PrestaShop 9.2.1 corrige dix-huit failles. Elle ne nettoie pas une boutique déjà touchée, et c'est là que se joue le référencement.

PrestaShop 9.2.1 est sortie le 9 novembre 2026 avec dix-huit correctifs de sécurité, dont quinze notés élevés par l'éditeur. Pour une boutique, la première action est une mise à jour planifiée. Pour le référencement, la question suivante compte davantage : une boutique touchée avant la mise à jour peut garder des pages, des liens ou des redirections que Google range dans le contenu piraté.

1. Ce qui a été annoncé

PrestaShop Build annonce la version 9.2.1 comme une mise à jour de sécurité, à appliquer le plus vite possible. Elle corrige dix-huit vulnérabilités signalées par divulgation coordonnée, dont quinze classées élevées. La version 8.2.9, publiée le même jour, reprend quinze de ces correctifs. Les trois autres (deux liées aux clients de l'API d'administration, une au mode débogage) ne concernent que la branche 9. La balise 9.2.1 sur GitHub porte la date du 9 novembre à 12 h 00 UTC.

La note couvre aussi deux modules. ps_emailsubscription passe en 3.0.1 pour une injection CSV à l'export des abonnés à la newsletter (score 6,1). psgdpr passe en 1.4.4 : un visiteur pouvait enregistrer un consentement au nom d'un autre client, avec la faille CVE-2026-92809 (score 5,3, selon l'éditeur).

Le tableau reprend les dix-huit correctifs de la note. Les scores sont les CVSS 3.1 publiés dans les avis GitHub du dépôt, identiques à ceux de la note. La dernière colonne reprend la condition d'accès indiquée par l'éditeur.

Correctif Score Accès requis selon l'éditeur
Client API qui s'attribue n'importe quel droit (GHSA-p292-3rh4-vm4p)8,8client API avec le droit d'écriture sur les clients API
XSS stockée par fichiers SVG, gestionnaire de fichiers et logo (GHSA-99cp-c6mm-p7h5)8,7compte employé
Traversée de chemin dans les pièces jointes (GHSA-wrmc-gmx5-9hhc)8,5clé webservice avec écriture sur les pièces jointes
Accès aux clients d'une autre boutique via le webservice (GHSA-hjwq-7qvv-qxj4, CVE-2026-71519)8,1clé webservice autorisée sur une boutique d'une multiboutique
Installateur relançable sur une boutique installée (GHSA-8rxw-79mh-gmm5)8,1installateur encore accessible
Désérialisation dans le cookie de session de l'installateur (GHSA-h2q4-7fp7-m5jp)8,1installateur encore accessible
Périmètre de boutique contourné par id_shop=all (GHSA-3f36-4qv4-vfgh, CVE-2026-71531)8,1clé webservice restreinte à certaines boutiques
Bon de réduction utilisable plus que sa quantité (GHSA-r246-6gw4-pj3p)7,5aucun
Commandes en double depuis un même panier (GHSA-2676-hc74-gg7v)7,5aucun
Traversée de chemin à l'import de thème ou de module (GHSA-7q68-ch46-pxmc)7,2employé autorisé à importer
Inclusion de fichier par le paramètre module des traductions (GHSA-fxq4-2mc8-99pr)7,2employé accédant à la page des traductions
Thème importé depuis une URL, enregistré dans le dossier d'administration (GHSA-95w6-v2wq-cv8w)7,2employé autorisé à importer un thème
Écriture hors dossier via les traductions d'e-mails (GHSA-5p6p-mx64-96jf)7,2employé accédant aux traductions d'e-mails
Cookie du mode débogage écrit sans contrôle (GHSA-95f5-jc9c-gg3q)7,2employé avec les droits Performance
Client API désactivé qui garde ses jetons (GHSA-6c2j-pgwm-95m9)7,1client API désactivé ou révoqué
Fichier de personnalisation téléchargeable avec la seule référence de commande (GHSA-fg9q-mm4c-h5xc)5,9connaître la référence de commande
Employé qui peut ajouter des produits à une commande existante (GHSA-mgcf-mrg4-mcxv)4,9employé avec le droit de création de commandes
Jeton de réinitialisation de mot de passe prévisible (GHSA-g6p7-cx52-hcrj)4,8connaître la clé sécurisée du client

2. Ce que cela change pour une boutique PrestaShop

Trois points comptent pour une boutique.

La plupart des correctifs visent l'administration et les accès techniques. Douze entrées du tableau demandent un compte employé, un client API ou une clé webservice. Quatre autres dépendent d'un installateur encore accessible, ou d'un client qui connaît une référence ou une clé. Seules deux entrées, des courses sur les bons de réduction et les commandes gratuites, ne demandent aucun accès particulier.

La note ne contient aucun changement d'URL, de balisage, de sitemap ni de redirection. Les deux entrées hors sécurité (ordre des messages sur une fiche commande, clic sur une ligne de grille) concernent le back-office. Il n'y a donc pas de correctif SEO au sens strict.

La mise à jour passe par l'Update Assistant, précédée d'une sauvegarde complète de la base et des fichiers, comme le demande la note. Une boutique en 8.x doit viser la 8.2.9, et une boutique en 9.2.0 la 9.2.1.

3. Ce que la comparaison du code montre

Nous avons comparé les versions 9.2.0 et 9.2.1 sur GitHub : 59 commits et 117 fichiers modifiés ou créés. Les commits des correctifs sont datés, pour l'essentiel, du 7 au 26 octobre, soit de deux à cinq semaines avant la note. Quelqu'un qui suit le dépôt pouvait donc lire les changements avant l'annonce. Le tableau indique où se trouvent les changements, par famille de correctif.

Famille de correctifs Fichiers modifiés ou créés (extrait)
Pièces jointesclasses/Attachment.php, controllers/front/AttachmentController.php, src/Adapter/File/Uploader/AttachmentFileUploader.php
Webservice (deux entrées)classes/webservice/WebserviceRequest.php (375 lignes modifiées), classes/webservice/WebserviceSpecificManagementAttachments.php
Installateur (deux entrées)install-dev/index.php, install-dev/classes/session.php, src/PrestaShopBundle/Install/InstallationState.php (créé)
Bons de réduction et commandes simultanéessrc/Adapter/CartRule/CartRuleQuantityReserver.php (créé), src/Adapter/Order/OrderCreationLock.php (créé)
Import d'archivessrc/Core/Security/SafeZipExtractor.php (créé), src/Core/Security/PharDetector.php (créé), src/Core/Addon/Theme/ThemeZipUploader.php
Clients APIsrc/Core/Security/OAuth2/ApiClientScopeDelegationValidator.php (créé), src/PrestaShopBundle/Security/OAuth2/Repository/ClientRepository.php
Fichiers SVGsrc/Core/Shop/LogoUploader.php, admin-dev/filemanager/upload.php
Mode débogagesrc/Adapter/Debug/DebugMode.php, src/Adapter/Debug/DebugModeConfiguration.php
Réinitialisation de mot de passesrc/PrestaShopBundle/Security/Admin/EmployeePasswordResetter.php, controllers/front/PasswordController.php

Le commit eb05379961, « Refuse to run the web installer on an already installed shop », est daté du 12 octobre. Il refuse désormais de relancer l'installateur sur une boutique déjà installée. Cette lecture ne prouve pas qu'une boutique a été attaquée. Elle montre seulement à quel endroit le code a changé.

Lecture de consultant. Le correctif m'intéresse peu pour le référencement : il ferme des portes. Ce qui compte, c'est ce qui a pu entrer avant. Google range dans le contenu piraté quatre formes qu'un marchand doit connaître : du code injecté, des pages ajoutées, du contenu inséré dans des pages existantes (liens ou textes cachés, cloaking) et des redirections vers des pages douteuses. Ces éléments ne se voient pas forcément depuis le back-office ni sur la page d'accueil. Hypothèse, non vérifiée ici : une boutique dont un compte employé ou une clé webservice a été utilisée avant le 9 novembre peut porter des pages que son propriétaire ignore. La mise à jour ne les retire pas. Il faut les chercher.

Que vérifier cette semaine

  1. Sauvegardez, puis mettez à jour. Sauvegarde complète de la base et des fichiers, puis mise à jour avec l'Update Assistant. Une boutique en 8.x vise la 8.2.9.
  2. Ouvrez le rapport Security issues de la Search Console. Un compteur en haut indique les problèmes ; une coche verte indique un site sans problème. Le libellé peut différer selon la langue de votre interface. S'il reste des problèmes, prenez les URL d'exemple et corrigez-les sur toutes les pages : Google ne rétablit pas un site corrigé seulement en partie.
  3. Cherchez les pages que vous n'avez pas créées. Lancez site:votre-domaine dans Google et lisez votre sitemap.xml. Comparez avec le catalogue et les pages CMS de votre back-office.
  4. Relisez votre robots.txt. PrestaShop régénère ce fichier lors de certaines sauvegardes d'URL de boutique, comme le décrit notre article du 31 octobre. Une ligne que vous n'avez pas écrite mérite une vérification.
  5. Vérifiez qu'aucun installateur ne répond sur votre domaine. S'il répond, traitez ce point avant tout le reste.
  6. Auditez les accès. Listez les employés qui peuvent importer des thèmes ou des modules, modifier les traductions, gérer les droits Performance ou créer des commandes. Listez aussi les clés webservice et les clients API, et désactivez ceux qui ne servent plus. Ce sont les profils visés par les entrées du tableau.

Limites

  • Aucune boutique n'a été testée. Cet article ne mesure ni le nombre de boutiques touchées, ni un effet sur le trafic ou le classement.
  • Les scores viennent des avis GitHub de PrestaShop. Les identifiants CVE-2026-71519 et CVE-2026-71531 ne figuraient pas encore sur NVD à la date de lecture.
  • Les sources ne disent pas qu'une de ces failles est exploitée en ce moment. Les conséquences SEO décrites ici reposent sur la définition de contenu piraté donnée par Google, pas sur un mécanisme interne de son algorithme.
  • Les libellés français du rapport Search Console n'ont pas été vérifiés dans une interface en français.

Sources

Comment cet article a été produit. Faits vérifiés dans les sources listées ci-dessus ; lecture de la note de version PrestaShop 9.2.1, des avis GitHub, de la comparaison 9.2.0 → 9.2.1 et des passages utiles des pages Google citées, le 9 novembre 2026 (fichiers conservés). Rédigé avec l'aide de Claude (Anthropic), puis relu et validé par Lefi Abdelmonem avant publication.

À lire aussi : Entraînement IA : le robots.txt de PrestaShop face au signal commun

Besoin d'un diagnostic sur votre boutique ?

Consultant SEO e-commerce et ingénieur PrestaShop, je vérifie avec vous si une boutique a été touchée avant sa mise à jour : pages ajoutées, redirections, comptes et clés d'accès.

Me contacter