Les modules et extensions abandonnés : le premier vecteur réel
Avant le mot de passe faible, avant le serveur mal configuré, le point d’entrée le plus courant reste un module ou une extension que plus personne ne met à jour, installé pour une fonctionnalité ponctuelle puis oublié.
Ce qu’est réellement un module abandonné
Un module abandonné n’est pas forcément un module ancien ou visiblement cassé. C’est un module installé un jour pour un besoin précis, un moyen de paiement, une bannière promotionnelle, une intégration réseau social, puis laissé en place sans être ni utilisé activement ni surveillé. Son éditeur peut avoir cessé son activité, arrêté de le maintenir, ou simplement ne plus publier de correctif pour une version ancienne encore installée sur votre boutique.
Le cœur du CMS, lui, continue d’évoluer. Chaque nouvelle version publie parfois des correctifs de sécurité qui concernent indirectement les modules, et de nouvelles failles sont régulièrement découvertes dans du code qui n’a pas changé depuis des années. Un module abandonné ne devient donc pas seulement inutile : il devient une zone du site qui s’écarte de plus en plus du niveau de sécurité du reste de l’installation.
- 39,1 % des applications CMS compromises étaient déjà obsolètes au moment de l’infection
- 13,97 % des sites compromis avaient au moins une extension ou un thème vulnérable au moment de la remédiation
Rapport Sucuri 2023, Hacked Website & Malware Threat Report
Le cas Slider Revolution : une extension qu’on ne sait même pas avoir
En décembre 2014, la campagne connue sous le nom de « SoakSoak » a compromis plus de 100 000 sites WordPress via une faille de l’extension Slider Revolution, selon le décompte publié à l’époque par Sucuri. La particularité de ce cas : l’extension était très souvent intégrée directement à l’intérieur de thèmes premium, sans que l’acheteur du thème ne sache même qu’elle s’y trouvait. Sans le savoir installée, elle n’était évidemment jamais mise à jour. Google a mis en liste noire plus de 11 000 domaines pendant cette campagne, d’après les analyses de Sucuri et de Graham Cluley. C’est l’exemple le plus clair d’un vecteur d’entrée qu’un marchand ne peut pas surveiller s’il ignore son existence.
Pourquoi certaines failles corrigées restent exploitables
Le module de liste de souhaits blockwishlist pour PrestaShop, en versions 2.0.0 à 2.1.0, contenait l’injection SQL référencée CVE-2022-31101, corrigée en 2.1.1. C’est le maillon qui rendait exploitable la faille du cœur CVE-2022-36408 (aussi référencée CVE-2022-31181), laquelle visait les versions 1.6.0.10 à 1.7.8.6 incluses et a été corrigée en 1.7.8.7. Mais sur toutes les boutiques où ce module précis n’a jamais été mis à jour ou remplacé, la porte d’entrée est restée ouverte bien après la publication du correctif : la faille n’avait pas disparu, elle avait simplement cessé d’être un problème pour ceux qui avaient agi.
Comment repérer un module à risque sur votre boutique
-
Vérifier la date de dernière mise à jour
Dans le back-office, chaque module ou extension affiche généralement sa version et parfois sa date de publication. Un module qui n’a pas bougé depuis plusieurs années, alors que le cœur du CMS a changé plusieurs fois, mérite d’être vérifié.
-
Vérifier qu’il reste disponible officiellement
Un module qui a disparu du dépôt officiel ou de la marketplace de l’éditeur, alors qu’il reste actif sur votre site, ne recevra plus aucun correctif futur.
-
Vérifier la compatibilité annoncée
Un module qui annonce une compatibilité maximale très inférieure à la version actuelle de votre CMS a de fortes chances de ne plus être suivi activement par son éditeur.
-
Lister les modules réellement utiles
Un module installé pour un test ponctuel ou une campagne terminée depuis longtemps, mais toujours actif, augmente la surface d’exposition sans apporter aucun bénéfice.
Pour aller plus loin
-
Injections SQL expliquées
Le mécanisme technique derrière plusieurs des failles citées sur cette page.
-
Surveiller les failles qui concernent ma boutique
Où et comment suivre les publications de failles avant qu’un attaquant ne les exploite.
-
Versions de PHP en fin de vie
Un autre écart silencieux entre ce qui fonctionne encore et ce qui reste sécurisé.
Décrivez votre besoin en 1 minute
Quelques questions ciblées pour que je vous réponde avec une estimation, pas avec un questionnaire de plus.