PHP2Shell : deux failles critiques de PHP (octobre 2026) et que faire maintenant
Deux failles critiques de PHP (CVE-2026-109618 et 109619) permettent d’exécuter du code à distance. Versions touchées et mesures à prendre dès maintenant.
Par Data Horizon Consulting4 min de lectureRead in English
Le 21 octobre 2026, le projet PHP a publié des mises à jour de sécurité urgentes corrigeant deux vulnérabilités critiques, surnommées PHP2Shell. Elles peuvent permettre à un attaquant non connecté d’exécuter du code sur votre serveur web, et des tentatives d’exploitation ont déjà été observées. Si votre site, votre boutique en ligne ou votre application fonctionne avec PHP (c’est le cas de la plupart des sites WordPress, WooCommerce, Drupal, Magento et Laravel), il faut agir maintenant.
Que s’est-il passé ?
- CVE-2026-109618 : lorsque PHP manque de mémoire pendant la préparation d’une requête, des données internes peuvent rester à moitié initialisées puis être traitées comme valides, ce qui peut mener à l’exécution de code à distance.
- CVE-2026-109619 : des données internes d’une requête peuvent subsister après la libération de leur mémoire, et une requête suivante traitée par le même processus PHP peut les réutiliser (« use-after-free »), avec à la clé exécution de code à distance et fuite de mémoire.
PHP note ces deux failles 9,2 sur 10 (critique) selon l’échelle CVSS v4.0 ; un score de 10 qui a circulé avant la publication était erroné. Selon l’avis officiel de PHP, elles concernent toutes les installations PHP qui traitent des requêtes web : PHP-FPM, Apache avec mod_php, php-cgi, FrankenPHP et LiteSpeed. Le risque est jugé le plus élevé avec Apache mod_php.
Quelles versions sont concernées ?
- Versions corrigées : PHP 8.5.12, 8.4.27, 8.3.36 et 8.2.35. Toutes les versions antérieures de ces branches sont vulnérables.
- PHP 7.4, 8.0 et 8.1 : pas de version officielle. L’équipe de sécurité de PHP a publié des correctifs minimaux sous forme de code source, et certaines distributions Linux ou fournisseurs de support étendu proposent des paquets corrigés.
- PHP 5.4 à 7.3 : en fin de vie, sans correctif du projet PHP. Mettez à niveau ou isolez ces systèmes.
- À savoir : PHP 8.2 arrive en fin de vie le 31 décembre 2026 et ne recevra plus de correctifs de sécurité après cette date.
Les failles sont-elles exploitées ?
Oui, des tentatives ont été observées. Amazon Threat Intelligence a signalé une tentative d’exploitation le 17 octobre, quatre jours avant la divulgation publique, puis des tentatives plus larges de plusieurs acteurs à partir du 21 octobre ; Cloudflare et watchTowr ont également signalé les premières attaques (la FAQ de Tenable résume la chronologie). Du code de « preuve de concept » circule en ligne, mais il n’est pas vérifié et peut lui-même contenir un logiciel malveillant : ne l’exécutez jamais sur vos systèmes.
Que faire maintenant : la checklist
- Identifiez votre version de PHP : dans le panneau de votre hébergeur, avec la commande php -v sur votre serveur, ou avec une page phpinfo temporaire (supprimez-la juste après).
- Mettez PHP à jour vers 8.5.12, 8.4.27, 8.3.36 ou 8.2.35 (ou le paquet corrigé de votre distribution), puis redémarrez tous les processus PHP (PHP-FPM, Apache). Le redémarrage est nécessaire pour que le correctif s’applique.
- Sur un hébergement mutualisé ou infogéré : consultez la page d’état de votre hébergeur ou contactez son support. Beaucoup d’hébergeurs ont déjà appliqué les correctifs pour leurs clients.
- Si vous ne pouvez pas mettre à jour aujourd’hui : appliquez les mesures temporaires de l’avis PHP, par exemple session.upload_progress.enabled=0 dans php.ini ou dans votre pool PHP-FPM (pas avec ini_set() ni un fichier .user.ini), puis redémarrez. Elles réduisent l’exposition mais ne rendent pas le serveur sûr.
- Avec PHP 8.1 ou plus ancien : planifiez une mise à niveau vers une version maintenue et, en attendant, isolez les applications exposées à Internet ou placez-les derrière un pare-feu applicatif (WAF).
- Recherchez des signes de compromission depuis le 17 octobre : fichiers PHP inconnus, nouveaux comptes administrateurs, tâches planifiées ou processus inattendus, trafic sortant inhabituel.
Et les sites WordPress ?
Les failles se trouvent dans PHP lui-même, pas dans WordPress : aucune mise à jour de WordPress, d’extension ou de thème ne les corrige. La solution est de mettre à jour PHP sur votre serveur. Si vous changez de branche (par exemple de 8.1 à 8.3), testez d’abord votre thème et vos extensions sur une copie du site.
Besoin d’aide ?
Tenir à jour PHP, votre CMS et vos extensions, c’est exactement ce que couvre notre offre de maintenance et support technique : nous vérifions vos versions, appliquons les mises à jour en toute sécurité avec une sauvegarde, et surveillons votre site pour traiter rapidement ce type d’incident.