PHP2Shell : mettez à jour PHP sur vos sites web et vos pare-feu

Deux failles critiques de PHP permettent de prendre la main sur un serveur web sans mot de passe, et les attaques ont commencé. Voici quoi faire.

Alexandre DELANEAU
7 min de lecture
PHP2Shell : mettez à jour PHP sur vos sites web et vos pare-feu

L’essentiel

  • Deux failles critiques de PHP, surnommées PHP2Shell (CVE-2026-109618 et CVE-2026-109619), permettent de faire exécuter des commandes à un serveur web sans aucun identifiant.
  • Tous les sites et applications web qui tournent sur une version de PHP non corrigée sont exposés : WordPress, boutiques en ligne, outils internes, mais aussi l’interface d’administration des pare-feu pfSense et OPNsense.
  • Les versions corrigées sont sorties le 21 octobre : PHP 8.2.35, 8.3.36, 8.4.27 et 8.5.12. Les tentatives d’attaque se comptent déjà par millions.
  • La plupart des produits Fortinet, dont FortiOS, ne sont pas concernés.

Ce qui se passe

Mardi 20 octobre, l’équipe de développement de PHP a annoncé la publication imminente de correctifs pour deux failles qu’elle classe comme critiques. Les nouvelles versions sont sorties le lendemain, mercredi 21 octobre : PHP 8.2.35, 8.3.36, 8.4.27 et 8.5.12. Le CERT-FR, le centre gouvernemental de veille et d’alerte rattaché à l’ANSSI, a publié une alerte le jour même.

Les attaques n’ont pas attendu. Amazon dit avoir repéré une première tentative dès le 17 octobre, quatre jours avant l’annonce, puis plusieurs outils d’attaque différents le 21. Cloudflare comptait des millions de tentatives dès le 22 octobre, dont certaines cherchent à enrôler les serveurs dans le réseau de machines piratées Mirai. Aucune intrusion réussie n’était encore confirmée au 23 octobre, mais tout serveur non corrigé doit être considéré comme visé.

PHP fait tourner une très grande partie des sites web : WordPress, PrestaShop, Joomla, Drupal, et une foule d’applications internes (extranet, gestion de parc, outils métier). Selon l’équipe de PHP, toutes les installations qui servent des pages web sont concernées, quel que soit le mode de fonctionnement du serveur (PHP-FPM, Apache avec mod_php, CGI, FrankenPHP, LiteSpeed).

Fiche de la faille PHP2Shell : produit PHP, versions touchées avant 8.2.35, 8.3.36, 8.4.27 et 8.5.12, gravité critique 9,8 sur 10, exploitée activement, action : mettre PHP à jour puis redémarrer le service.
Gravité : score NVD de CVE-2026-109618. Sources : PHP, CERT-FR, Amazon (octobre 2026).

La faille en clair

La faille en clair

Quand un visiteur envoie un formulaire ou un fichier à un site, PHP reçoit d’abord ces données et les range en mémoire avant de les confier au site. Les deux failles se situent à cette étape : la première corrompt les données de la requête quand la mémoire est saturée, la seconde réutilise des restes de mémoire laissés par une requête précédente.

Avec des requêtes fabriquées pour l’occasion, un attaquant peut en profiter pour faire exécuter ses propres commandes au serveur. Il n’a besoin ni de compte ni de mot de passe : il suffit que le site soit joignable. C’est un peu comme un guichet de dépôt qui, débordé, mélangerait les enveloppes au point d’exécuter les consignes glissées par un inconnu.

Quels risques pour votre entreprise ?

Les risques pour votre entreprise

  • Prise de contrôle du serveur. L’attaquant exécute ses commandes, avec les droits du serveur web, sur la machine qui héberge votre site ou votre application.
  • Vol de données. Fichiers clients, messages reçus par formulaire, comptes et mots de passe stockés dans la base : tout ce que le serveur peut lire devient accessible. En cas de fuite de données personnelles, le RGPD impose en principe de prévenir la CNIL sous 72 heures.
  • Site détourné. Pages modifiées, redirections vers des arnaques, envoi de spam depuis votre nom de domaine : votre image et votre référencement en pâtissent.
  • Serveur enrôlé par les pirates. Une partie des attaques observées installe Mirai, un programme qui fait participer les machines infectées à des attaques par saturation contre d’autres cibles.
  • Porte d’entrée vers le reste du réseau. Si le serveur est dans vos locaux, ou s’il s’agit de l’interface d’un pare-feu, il peut servir de tremplin vers vos autres machines, et ouvrir la voie à un rançongiciel.
Les quatre principaux risques de PHP2Shell pour une entreprise : prise de contrôle du serveur, vol de données, site détourné, porte d’entrée vers le réseau interne.
Les conséquences possibles d’une attaque réussie, du plus grave au moins grave.

Êtes-vous concerné ?

Vous l’êtes si vous avez un site web, une boutique en ligne ou une application web en PHP, chez un hébergeur ou sur vos propres serveurs, et que sa version de PHP est antérieure aux versions corrigées. Pour un site en hébergement mutualisé, c’est l’hébergeur qui met PHP à jour : vérifiez qu’il l’a fait, ou choisissez une version corrigée dans votre espace client.

CVE-2026-109618 et CVE-2026-109619

En clair
Un attaquant peut faire exécuter ses commandes à un serveur web, sans identifiant.
Produit
PHP, pour toutes les installations qui servent des pages web
Versions touchées
8.2 avant 8.2.35, 8.3 avant 8.3.36, 8.4 avant 8.4.27, 8.5 avant 8.5.12, ainsi que toutes les versions 5.x, 7.x, 8.0 et 8.1
Version corrigée
8.2.35, 8.3.36, 8.4.27 et 8.5.12
Gravité
Critique : 9,2 sur 10 selon PHP (CVSS 4), 9,8 sur 10 pour CVE-2026-109618 selon la base américaine NVD
Exploitée
Oui : tentatives d’attaque massives depuis le 21 octobre (une dès le 17 selon Amazon), sans intrusion réussie confirmée au 23 octobre
Risque principal
Prise de contrôle du serveur et vol des données qu’il héberge

Les versions 8.1 et plus anciennes ne reçoivent plus de mise à jour officielle. L’équipe de PHP fournit seulement des correctifs à intégrer soi-même pour les versions 7.4, 8.0 et 8.1 : le vrai remède est de passer à une version maintenue. Profitez-en pour viser au moins PHP 8.3, car la branche 8.2 arrive en fin de vie le 31 décembre 2026.

Et les FortiGate ? Selon l’avis FG-IR-26-186 de Fortinet, mis à jour le 22 octobre, FortiOS, FortiManager, FortiAnalyzer, FortiMail, FortiProxy, FortiWeb et FortiClient EMS ne sont pas concernés. Quelques produits restaient à l’étude, dont FortiSOAR et FortiDDoS.

Que faire maintenant

  1. Faites la liste de ce qui tourne en PHP. Site vitrine, boutique, extranet, outils internes, et l’interface d’administration de votre pare-feu s’il s’agit d’un pfSense ou d’un OPNsense.
  2. Relevez la version de PHP de chacun. Dans l’espace client de votre hébergeur, dans WordPress (Outils, puis Santé du site, onglet Informations, rubrique Serveur) ou, sur vos serveurs, avec la commande php -v.
  3. Mettez PHP à jour, puis redémarrez le service. Sur un serveur, installez la mise à jour puis redémarrez PHP-FPM ou Apache : tant qu’ils ne sont pas relancés, l’ancienne version reste en mémoire. En mutualisé, demandez confirmation à votre hébergeur s’il ne l’a pas annoncé.
  4. Si la mise à jour doit attendre quelques heures, réduisez le risque. C’est l’affaire de votre hébergeur ou de votre administrateur, et chaque faille a sa parade temporaire selon PHP et le CERT-FR. Contre CVE-2026-109619 : désactiver le suivi de progression des envois de fichiers dans le php.ini ou le pool PHP-FPM (php_admin_flag[session.upload_progress.enabled] = off, pas dans un fichier .user.ini), puis redémarrer. Contre CVE-2026-109618 : imposer memory_limit=-1 par php_admin_value (pour que les applications ne puissent pas le changer), réduire post_max_size (8M, ou 32M si le site reçoit des fichiers) et limiter la taille des requêtes au niveau du serveur web. Sur PHP 8.5, ajouter fatal_error_backtraces=0. Aucune de ces parades ne remplace la mise à jour.
  5. Mettez à jour vos pare-feu pfSense et OPNsense. Netgate a publié le 21 octobre une mise à jour de PHP pour pfSense, à appliquer en ligne de commande (SSH ou console) et non depuis l’interface web. Elle passe en priorité si vous utilisez le portail captif, qu’il soit ouvert sur Internet ou non. Côté OPNsense, les versions 26.7.7 et Business 26.4.2p3 embarquent un PHP corrigé ; redémarrez ensuite le service de portail captif si vous l’utilisez.

Une troisième faille, moins grave. Le 23 octobre, PHP a signalé un troisième problème (CVE-2026-115560), qui ne touche que des configurations inhabituelles et sera corrigé lors de la prochaine mise à jour régulière. En attendant, PHP recommande de laisser le suivi de progression des envois désactivé.

Comment vérifier

Une fois la mise à jour faite, contrôlez la version réellement utilisée par le site, pas seulement celle installée sur le serveur. Dans WordPress, l’écran Santé du site affiche la version en service. En ligne de commande, php -v donne la version de l’outil en ligne de commande, qui peut différer de celle de PHP-FPM : vérifiez aussi le paquet et le service PHP-FPM.

Tant qu’un serveur n’est pas corrigé, le CERT-FR recommande d’abord de l’isoler. À défaut, il propose une parade temporaire qu’il n’a pas validée : bloquer au niveau du pare-feu applicatif web les requêtes d’envoi de fichiers (dites « multipart »), ou au moins les surveiller. Passez aussi en revue les journaux du serveur depuis le 17 octobre : des envois inhabituels suivis de fichiers ou de processus inconnus méritent une analyse. Si vous manquez de temps pour faire ce tour, c’est exactement le type de vérification que nous menons lors d’un audit cybersécurité.

PartagerLinkedInE-mail
Un doute sur vos équipements ?

Premier échange offert : on regarde ce qui est exposé chez vous et ce qu’il faut corriger en priorité.

ou appelez le 01 86 39 04 04
Premier échange offert

Une faille vous inquiète ? On regarde avec vous.

Premier échange offert, puis audit de sécurité en 48 h, déduit de votre projet : vous savez où vous en êtes et quoi corriger en priorité, sans engagement et sans jargon.