PHP2Shell (CVE-2026-109618 / CVE-2026-109619) : corrigé dans PHP 8.5.12, 8.4.27, 8.3.36 et 8.2.35. Comment mettre à jour (en anglais)

English · Deutsch · Español · Français

Vérificateur PHP2Shell

Utilisez ce vérificateur PHP2Shell gratuit pour savoir si votre site tourne sur une version de PHP touchée par PHP2Shell (CVE-2026-109618 et CVE-2026-109619). Saisissez l'adresse de votre site, ou la version de PHP affichée sur votre serveur.

Vous connaissez déjà votre version de PHP ? Collez-la ici (depuis php -v, phpinfo ou votre panneau d'hébergement) :

Données du vérificateur comparées pour la dernière fois à l'avis officiel : 21 octobre 2026.

Publicité

Ce que vous apprend le vérificateur PHP2Shell

PHP2Shell est un ensemble de vulnérabilités critiques de sécurité mémoire dans le cœur de PHP, divulgué le 21 octobre 2026 avec un score CVSS de 9,2. Un attaquant sans compte peut exécuter du code sur le serveur ou lire la mémoire sensible du processus : mots de passe, jetons de session, clés d'API, certificats. Comme la faille est dans le moteur PHP, un site peut être touché même si son propre code est irréprochable. Les chercheurs l'ont montré avec une simple application « Hello World ».

Le vérificateur répond à une question : le PHP qui fait tourner votre site est-il antérieur à la première version corrigée ? Il lit ce que votre serveur révèle dans ses en-têtes. Si la version de PHP est visible, vous obtenez un verdict direct. Si elle est cachée, ce qui est courant, il vous indique si le site semble utiliser PHP (WordPress, Drupal, Joomla, Laravel ou un cookie de session PHP) et vous oriente vers la vérification d'une minute sur le serveur.

Versions corrigées de PHP2Shell

Versions vulnérables et première version corrigée par branche, d'après la divulgation officielle et l'annonce de la PHP Foundation :

Branche PHPVulnérablePremière version corrigée
8.5< 8.5.128.5.12
8.4< 8.4.278.4.27
8.3< 8.3.368.3.36
8.2< 8.2.358.2.35
8.1, 8.0, 7.4 et antérieuresToutes les versionsPas de nouvelle version officielle. Utilisez un paquet fournisseur avec le correctif rétroporté, ou passez à une branche corrigée.

Les paquets des distributions (Ubuntu, Debian, Red Hat, CloudLinux, cPanel EasyApache) rétroportent souvent le correctif sans changer le numéro de version d'origine. Si votre version paraît ancienne mais provient d'un tel paquet, cherchez CVE-2026-109618 dans le changelog du paquet. Les commandes sont sur la page correctif PHP2Shell (en anglais).

Publicité

Utiliser le vérificateur ou vérifier à la main

  1. Trouvez la version de PHP qui sert les requêtes web. Dans WordPress : Outils → Santé du site → Informations → Serveur. Sur un serveur, lancez php -v, mais la version en ligne de commande peut différer de celle utilisée par Apache ou PHP-FPM.
  2. Saisissez-la dans le vérificateur, ou comparez-la au tableau ci-dessus. Sur la branche 8.3, par exemple, 8.3.35 est vulnérable et 8.3.36 est corrigée.
  3. Vérifiez chaque PHP installé. Les serveurs sous cPanel, Plesk ou aaPanel ont souvent plusieurs versions de PHP côte à côte. Chacune qu'un site peut utiliser doit être mise à jour.
  4. Redémarrez après la mise à jour. Apache, PHP-FPM et les workers PHP persistants gardent l'ancien code en mémoire jusqu'au redémarrage.

Qui est concerné par PHP2Shell

PHP fait tourner environ 70 % des sites web, dont WordPress, Drupal, Joomla, MediaWiki, Moodle, Nextcloud et les applications Laravel et Symfony. Les chercheurs ont démontré une exécution de code à distance sans authentification sur les dernières images conteneur de WordPress, Drupal et Joomla, mais l'exploitation ne nécessite aucune de ces applications. Selon la PHP Foundation, Apache avec mod_php est la configuration la plus exposée : une requête non authentifiée peut déclencher CVE-2026-109618 avant même l'exécution du code de l'application, avec les réglages par défaut. L'exécution de code à distance a aussi été confirmée sur PHP-FPM via des chemins de code applicatifs.

Vérifiez chaque site que vous gérez, pas seulement le principal. Un site sur une plateforme gérée n'est sûr que si le PHP de l'hébergeur l'est. En hébergement mutualisé, la solution est en général un changement de version dans le panneau de contrôle ou un ticket au support.

Que faire si le vérificateur indique une vulnérabilité

  1. Mettez à jour PHP vers 8.2.35, 8.3.36, 8.4.27, 8.5.12 ou plus récent, ou vers un paquet fournisseur qui inclut le correctif. C'est la seule correction complète. Commandes pas à pas : guide du correctif PHP2Shell (en anglais). Relancez ensuite le vérificateur.
  2. Si vous ne pouvez pas mettre à jour aujourd'hui, appliquez les mesures temporaires de l'avis et gardez vos règles WAF actives. Elles réduisent certains vecteurs d'attaque, pas tous : atténuation PHP2Shell (en anglais).
  3. Cherchez des signes de compromission sur les serveurs exposés, surtout s'ils contiennent des identifiants ou des données clients, et renouvelez les secrets qui étaient en mémoire.

Guides complémentaires (en anglais)

Publicité

FAQ du vérificateur PHP2Shell

Réponses courtes aux questions les plus fréquentes après une vérification PHP2Shell.

Est-ce sans risque de lancer ce vérificateur PHP2Shell sur mon site ?

Oui. Il envoie une seule requête GET ordinaire à votre page d'accueil, comme une visite depuis un navigateur, et lit les en-têtes de la réponse. Il n'envoie aucun exploit, aucune requête POST et ne scanne aucun chemin.

Pourquoi le vérificateur dit-il que ma version de PHP est cachée ?

La plupart des serveurs désactivent expose_php, donc la version n'apparaît pas dans les en-têtes. C'est normal et cela ne signifie pas que vous êtes corrigé. Relevez la version sur le serveur ou dans votre panneau d'hébergement et saisissez-la dans le champ de version.

Mon hébergeur affiche PHP 8.3 sans numéro de correctif. Suis-je protégé ?

Impossible de le savoir avec la seule branche. Sur cette branche, seules les versions 8.3.36 et ultérieures contiennent le correctif. Demandez à votre hébergeur : « Votre build PHP inclut-il les correctifs de CVE-2026-109618 et CVE-2026-109619 ? »

J'ai mis à jour WordPress et toutes les extensions. Suis-je protégé ?

Non. La faille se trouve dans PHP lui-même, sous WordPress. Mettre à jour une application ne met pas à jour le PHP qui l'exécute. Voir PHP2Shell et WordPress (en anglais).

Une règle WAF ou Cloudflare me protège-t-elle ?

Des fournisseurs comme Cloudflare ont déployé des règles temporaires, mais la divulgation officielle précise qu'une règle de protection ne remplace pas la mise à jour de PHP. La couverture dépend du fournisseur et du vecteur d'attaque.

J'utilise PHP 7.4 ou 8.1. Existe-t-il un correctif ?

Il n'y a pas de nouvelle version officielle de PHP pour la 8.1 et les branches plus anciennes. Vos options : un paquet fournisseur avec le correctif rétroporté (cherchez les CVE dans son changelog) ou passer à 8.2.35, 8.3.36, 8.4.27 ou 8.5.12.

Comment savoir si la faille a déjà été exploitée ?

La divulgation cite des signaux à examiner : cookies PHPSESSID anormalement grands ou mal formés dans les réponses, requêtes multipart étranges suivies d'erreurs de limite mémoire ou d'erreurs HTTP 500 répétées, et plantages inexpliqués des workers PHP. Aucun ne prouve une exploitation, et leur absence ne prouve pas que vous êtes protégé.