À retenir
- PHP2Shell regroupe deux failles (CVE-2026-109618 et CVE-2026-109619), notées chacune 9.2 sur 10 (CVSS v4.0) : elles permettent d'exécuter du code sur le serveur, sans identifiant.
- Toutes les versions de PHP de 5.4 à 8.5 sont touchées, quel que soit le mode d'exécution : PHP-FPM, Apache mod_php, php-cgi, FrankenPHP, LiteSpeed.
- Versions corrigées : 8.5.12, 8.4.27, 8.3.36 et 8.2.35. Rien d'officiel pour 7.4 à 8.1, rien du tout avant.
- Des tentatives d'exploitation et des scans automatisés de sites vulnérables sont observés depuis le 21 octobre 2026.
- Mettre PHP à jour ferme la porte, mais ne dit pas si quelqu'un est déjà entré : il faut aussi vérifier le site.
Ce qui se passe
PHP2Shell est le surnom donné à deux failles de PHP. La première (CVE-2026-109618) corrompt la mémoire quand un script dépasse la mémoire autorisée. La seconde (CVE-2026-109619) réutilise un état interne après sa libération, ce qui provoque aussi une fuite de mémoire. Elles permettent à un attaquant d'exécuter son propre code sur le serveur, sans compte ni mot de passe.
Les identifiants CVE ont fuité le 20 octobre 2026 et les correctifs sont sortis le 21. Le jour même, Cloudflare et watchTowr ont observé des tentatives d'exploitation et des scans automatisés à la recherche de sites vulnérables. Des codes d'exploitation publics circulent, et une exécution de code a été confirmée sur certaines versions de WordPress, Drupal, Joomla et Magento.
Exécuter du code sur le serveur, c'est pouvoir tout faire : déposer une porte dérobée, lire la base de données (clients, commandes), injecter un faux formulaire de paiement, rediriger les visiteurs ou envoyer du spam depuis votre hébergement.
Qui est touché ?
Toute installation de PHP qui sert des pages web, de PHP 5.4 à 8.5 : PHP-FPM, Apache avec mod_php, php-cgi, FrankenPHP ou LiteSpeed. Le risque est le plus élevé avec Apache mod_php. Concrètement, c'est le cas de la très grande majorité des sites WordPress, WooCommerce, PrestaShop, Joomla, Drupal et Magento.
| Version | État au 21/10/2026 |
|---|---|
| PHP 8.5 | Corrigée à partir de 8.5.12. Une version antérieure est vulnérable, sauf correctif appliqué par votre distribution. |
| PHP 8.4 | Corrigée à partir de 8.4.27. Une version antérieure est vulnérable, sauf correctif appliqué par votre distribution. |
| PHP 8.3 | Corrigée à partir de 8.3.36. Une version antérieure est vulnérable, sauf correctif appliqué par votre distribution. |
| PHP 8.2 | Corrigée à partir de 8.2.35. Une version antérieure est vulnérable, sauf correctif appliqué par votre distribution. |
| PHP 7.4 à 8.1 | Aucune version officielle corrigée : seuls des correctifs à appliquer sur le code source existent. |
| PHP 5.4 à 7.3 | Aucun correctif. La seule issue est de passer à une version maintenue. |
Vérifier votre version de PHP
Étape 1
WordPress et WooCommerce
Outils > Santé du site > onglet Informations > section Serveur : la ligne « Version de PHP » indique la version utilisée par le site.
Étape 2
PrestaShop
Paramètres avancés > Informations : la version de PHP figure dans les informations sur le serveur.
Étape 3
Joomla et Drupal
Joomla : Système > Informations système. Drupal : Rapports > Rapport d'état (/admin/reports/status).
Étape 4
Hébergement mutualisé
La version de PHP se choisit et s'affiche dans l'espace client de l'hébergeur. Demandez-lui aussi s'il a appliqué le correctif PHP2Shell sur ses serveurs.
Étape 5
Serveur dédié ou VPS
Ne vous fiez pas à « php -v » : il donne la version en ligne de commande, qui peut différer de celle qui sert le site. Regardez la version du paquet qui sert les pages (php-fpm, module Apache) et son journal des modifications, qui mentionne les CVE corrigées.
Étape 6
Attention au numéro affiché
Debian, Ubuntu, Red Hat et les autres distributions corrigent souvent sans changer le numéro de version de PHP. Un numéro ancien ne prouve pas que le serveur est vulnérable, un numéro récent ne prouve rien non plus si le service n'a pas été redémarré.
Si vous créez un fichier phpinfo() pour lire la version, supprimez-le aussitôt : il expose la configuration complète du serveur. Notre scan gratuit indique aussi la version de PHP quand le serveur l'annonce.
Quoi faire tout de suite
Étape 1
Mettre PHP à jour
C'est la seule vraie correction : 8.2.35, 8.3.36, 8.4.27 ou 8.5.12 minimum, ou le paquet corrigé de votre distribution. Sur 8.1 ou avant, prévoyez la migration vers une branche maintenue.
Étape 2
Redémarrer les processus PHP
Après une mise à jour ou un changement de configuration, redémarrez PHP-FPM, Apache ou le serveur concerné : les anciens processus gardent l'ancienne version en mémoire.
Étape 3
En attendant : les atténuations
Imposer memory_limit = -1 côté serveur (le site ne doit pas pouvoir le changer), désactiver session.upload_progress.enabled, et en PHP 8.5 passer aussi fatal_error_backtraces à 0. Surveillez ensuite la mémoire du serveur : sans limite, un script gourmand peut la saturer.
Étape 4
Un pare-feu applicatif aide, sans suffire
Les règles d'un WAF comme celui de Cloudflare filtrent une partie des attaques connues. C'est une rustine en attendant la mise à jour, pas une correction.
Étape 5
Ne testez pas avec un exploit public
Des codes d'exploitation circulent. Ils ne sont pas vérifiés et peuvent contenir eux-mêmes un logiciel malveillant : les lancer contre votre site ou depuis votre poste, c'est prendre un second risque.
Étape 6
Vérifier que personne n'est entré
Si le site a tourné sur une version vulnérable après le 20 octobre 2026, partez du principe qu'il a pu être visé et faites les contrôles ci-dessous.
● Test gratuit · 10 secondes
Votre site laisse-t-il voir sa version de PHP ?
Notre scan lit votre page d'accueil comme un visiteur : il signale une version de PHP exposée à PHP2Shell quand le serveur l'annonce, et les signes visibles d'un piratage. Il ne teste pas la faille. Gratuit, sans inscription.
Scan passif de votre page d'accueil, comme un visiteur. Sans inscription. Scannez uniquement un site dont vous êtes responsable.
Avez-vous déjà été piraté ?
À ce jour, aucun indicateur de compromission propre à PHP2Shell n'a été publié officiellement. Méfiez-vous des listes qui prétendent le contraire. En revanche, ce qu'un attaquant fait une fois qu'il peut exécuter du code est bien connu. Voici les signes à chercher, en priorité depuis le 20 octobre 2026 :
- Des fichiers PHP récents là où il ne devrait pas y en avoir : dossier uploads de WordPress, img/ ou upload/ de PrestaShop, dossiers de cache.
- Des fichiers du cœur ou des thèmes modifiés depuis le 20 octobre sans mise à jour de votre part (les pirates antidatent parfois les fichiers : la date seule ne suffit pas).
- Un compte administrateur que vous ne connaissez pas, ou un mot de passe d'administrateur qui ne fonctionne plus.
- Une tâche planifiée (cron) ajoutée sur l'hébergement ou dans le CMS.
- Des redirections vers d'autres sites, surtout depuis un mobile ou depuis Google.
- Sur une boutique : un formulaire de carte bancaire différent de celui de votre prestataire de paiement (skimmer).
- Dans les journaux du serveur : des requêtes répétées vers des fichiers PHP que vous ne connaissez pas.
Un de ces signes ? Ne supprimez rien vous-même : suivez les premiers gestes après un piratage et faites examiner le site. Pour la liste complète des contrôles, voir comment vérifier si un site est piraté.
Quand nous appeler
- Vous trouvez un des signes ci-dessus, ou le scan signale du code suspect.
- Votre site tourne en PHP 8.1 ou avant et vous ne pouvez pas le migrer tout de suite.
- Vous êtes une boutique en ligne et votre site a tourné sur une version vulnérable : les données de paiement de vos clients sont en jeu.
- Vous n'avez pas d'accès au serveur ou personne pour faire ces vérifications.
Nous intervenons à distance partout en France, avec un prix fixe annoncé avant de commencer : vérification des fichiers et de la base, nettoyage si nécessaire, et les éléments dont vous avez besoin pour vos démarches (CNIL, assurance, plainte).

Dispositif national
Référencé sur la plateforme Cybermalveillance.gouv.fr
Hackbuster est un service de Karma Consult, référencé sur Cybermalveillance.gouv.fr, le dispositif national d'assistance aux victimes d'actes de cybermalveillance. Ce référencement nous engage à respecter sa charte : bonnes pratiques commerciales, confidentialité des données de nos clients et remontée des éléments techniques utiles à l'analyse de la menace.
Questions fréquentes
Mon site est sous WordPress (ou PrestaShop) à jour : suis-je protégé ?
Non, pas par ce seul fait. PHP2Shell est une faille de PHP lui-même, pas du CMS : un WordPress ou un PrestaShop à jour est exposé si la version de PHP qui le fait tourner ne l'est pas. Une exécution de code a été confirmée sur certaines versions de WordPress, Drupal, Joomla et Magento.
Mon hébergeur s'en occupe-t-il ?
Sur un hébergement mutualisé, c'est l'hébergeur qui met PHP à jour, mais c'est souvent vous qui choisissez la branche (7.4, 8.1, 8.3…). Si votre site tourne en 8.1 ou avant, il reste exposé tant que vous ne changez pas de version. Sur un VPS ou un serveur dédié, la mise à jour est à votre charge.
Le scan Hackbuster dit que ma version de PHP est « masquée » : que faire ?
Masquer la version est une bonne pratique, mais cela empêche de vérifier de l'extérieur si le serveur est protégé contre PHP2Shell. Contrôlez la version avec les méthodes de cette page, ou faites contrôler votre serveur.
Si je mets PHP à jour, le problème est-il réglé ?
La porte est fermée pour l'avenir. Mais si un pirate est entré avant la mise à jour, il a pu déposer une porte dérobée qui, elle, survit à la mise à jour de PHP. D'où l'intérêt de vérifier les signes d'intrusion.
Existe-t-il une liste officielle d'indicateurs de compromission ?
Pas à la date du 21 octobre 2026. Les signes listés sur cette page sont ceux d'une intrusion en général : ce qu'un attaquant fait typiquement une fois qu'il peut exécuter du code sur un site.
Je pense avoir été piraté : que faire en premier ?
Ne supprimez rien et ne restaurez pas une sauvegarde au hasard : vous effaceriez les traces qui permettent de savoir ce qui a été touché. Changez les mots de passe depuis un poste sain, puis faites examiner le site.
Informations vérifiées au 21/10/2026, susceptibles d'évoluer avec les publications de l'équipe PHP et des distributions. Références : journal des modifications de PHP 8, versions de PHP maintenues.