Le mercredi 21 octobre 2026, une mise à jour de sécurité urgente est sortie pour PHP. Elle corrigeait deux failles graves, rapidement baptisées PHP2Shell. Des sites publics néerlandais comme DigiD et Overheid.nl, ainsi que plusieurs hébergeurs, ont été mis hors ligne ce jour-là par précaution. Dans cet article, nous vous expliquons ce qui s'est passé, même si la technique n'est pas votre fort. Et nous vous disons honnêtement ce que nous avons fait.

Votre site web est hébergé chez Theory7 ? Vous n'avez alors rien à faire. Nous avons installé les mises à jour sur tous nos serveurs d'hébergement web et vérifié chaque serveur. Nous n'avons eu à mettre aucun site web hors ligne par précaution. Si vous souhaitez vérifier vous-même, cet article d'aide explique comment faire.

PHP2Shell en bref

  • Quoi : deux failles graves dans PHP, CVE-2026-109618 et CVE-2026-109619, regroupées sous le nom de PHP2Shell.
  • Gravité : 9,2 sur une échelle de 10. Un attaquant pouvait prendre le contrôle d'un serveur web sans mot de passe.
  • Qui : presque tous les sites web qui fonctionnent avec PHP. Cela représente environ 70 % du web.
  • Correctif : PHP 8.2.35, 8.3.36, 8.4.27 et 8.5.12, publiés le 21 octobre 2026.
  • Chez Theory7 : voie d'attaque connue fermée le mercredi matin, tous les serveurs mis à jour dans la nuit du 21 au 22 octobre.

Qu'est-ce que PHP, au juste ?

Un site web a deux faces. La face avant, vous la voyez dans votre navigateur : textes, photos, boutons. La face arrière tourne sur un serveur et veille à ce que la face avant soit juste au bon moment. Quand vous remplissez un formulaire de contact, que vous vous connectez à une boutique en ligne ou que vous ajoutez un article à votre panier, c'est la face arrière qui s'en charge.

Comparez cela à un restaurant. La salle est ce que voit le client. La cuisine est l'endroit où se fait le travail. PHP est le langage dans lequel cette cuisine est organisée sur un très grand nombre de sites web.

Et ce n'est pas exagéré. Selon la société d'études W3Techs, environ 70 % de tous les sites web dont la technologie est connue fonctionnent avec PHP. WordPress est développé en PHP, tout comme WooCommerce, Joomla, Drupal et Magento, sans compter d'innombrables boutiques en ligne, systèmes de réservation et portails clients. Une erreur dans PHP lui-même n'est donc pas une erreur dans un seul site web. C'est une erreur dans les fondations d'une grande partie d'Internet.

Qu'est-ce que PHP2Shell exactement ?

Des chercheurs ont trouvé deux erreurs dans la façon dont PHP gère la mémoire de travail d'un serveur. Pendant son travail, un serveur garde toutes sortes de choses dans cette mémoire. Si quelque chose tourne mal lors d'une requête, PHP est censé tout ranger proprement. Dans certaines situations, ce n'était pas le cas.

On peut comparer cela à un hôtel qui loue à nouveau une chambre alors que le client précédent possède encore une carte-clé qui fonctionne. Celui qui sait utiliser cette carte entre dans un endroit où il n'a rien à faire. Avec PHP2Shell, un attaquant pouvait de cette manière faire exécuter ses propres commandes au serveur.

Trois éléments rendaient PHP2Shell si grave :

  • Aucun mot de passe n'était nécessaire. Un attaquant pouvait tenter sa chance depuis l'extérieur, avec une simple requête adressée à un site web.
  • L'attaquant prenait le contrôle. En jargon technique, on parle d'exécution de code à distance (remote code execution) : le serveur fait ce que l'attaquant lui dit.
  • La faille se trouvait dans PHP lui-même. Pas dans une extension ou un thème, mais dans la base. Presque toutes les versions de PHP depuis 2012 étaient vulnérables.

Les deux failles ont reçu une note de gravité de 9,2 sur une échelle de 10. Les descriptions officielles figurent dans les avis de sécurité de PHP pour CVE-2026-109618 et CVE-2026-109619.

Comment cela a-t-il pu arriver ?

PHP existe depuis 1995 et il est maintenu par un grand groupe de bénévoles et d'entreprises. Une telle quantité de code contient toujours des erreurs, c'est vrai pour tous les logiciels. Ces deux-là se cachaient dans un recoin que l'on rencontre rarement : le moment où un serveur se retrouve à court de mémoire au milieu d'une requête. Ces cas exceptionnels sont difficiles à tester, et c'est pourquoi les erreurs sont restées inaperçues pendant des années.

Normalement, la correction d'une telle faille se fait en toute discrétion. Les chercheurs la signalent aux développeurs, qui préparent un correctif, et à une date convenue, la mise à jour et l'explication paraissent en même temps. Les administrateurs ont ainsi une longueur d'avance sur les attaquants. Les chercheurs ont découvert ces failles en août et les ont signalées à PHP. La mise à jour était prévue pour le jeudi 22 octobre.

Les choses se sont passées autrement. Le mardi 20 octobre, les premiers détails ont fuité sur Internet. PHP a donc avancé la mise à jour d'un jour, au mercredi après-midi. Selon la société de sécurité Sansec, Cloudflare a observé les premières tentatives d'attaque dès le mercredi matin, avant même que la mise à jour soit disponible. Amazon signale même une tentative le 17 octobre, quatre jours avant l'annonce.

Aux Pays-Bas, ce mercredi a donc été particulier. DigiD, MijnOverheid et Overheid.nl, des services en ligne de l'État néerlandais, ont été temporairement mis hors ligne par précaution. Plusieurs hébergeurs ont également mis hors ligne les sites web de leurs clients en attendant la mise à jour.

Quel est le rapport entre l'IA et PHP2Shell ?

L'IA a joué un rôle des deux côtés de cette histoire.

Pour la découverte. Les chercheurs qui ont trouvé PHP2Shell ont travaillé avec des modèles d'IA, notamment d'OpenAI et de Google. Google écrit que son modèle Gemini a largement contribué, de la découverte de la faille à la vérification du correctif. L'IA peut parcourir en peu de temps d'énormes quantités de code et repérer des schémas qui échappent aux humains. C'est une bonne nouvelle : les erreurs anciennes et cachées sont mises au jour plus rapidement.

De l'autre côté. La même technologie est aussi accessible aux personnes mal intentionnées. Transformer la description d'une faille en attaque fonctionnelle demandait autrefois des jours ou des semaines de recherche. Avec l'IA, cela va beaucoup plus vite. Le délai entre « une faille est connue » et « les premières attaques » est donc de plus en plus court. Avec PHP2Shell, il a été de moins d'un jour.

Pour un hébergeur, cela signifie qu'installer une mise à jour « dans le courant de la semaine » ne suffit plus. Il faut savoir à l'avance exactement ce qui tourne sur quel serveur, et pouvoir agir immédiatement dès que la mise à jour est disponible. Nous utilisons nous-mêmes l'automatisation et l'IA à cette fin, par exemple pour contrôler tous nos serveurs en même temps, afin qu'aucune version de PHP oubliée ne subsiste nulle part. Chaque intervention sur un serveur n'a eu lieu qu'après l'accord de l'un de nos administrateurs.

Qu'avons-nous fait contre PHP2Shell ?

Chez nous, vous choisissez vous-même la version de PHP de votre site web, des versions anciennes aux plus récentes. Cela signifie que de nombreuses versions de PHP différentes tournent côte à côte sur nos serveurs, et elles devaient toutes être mises à jour.

Nous avons pris la décision la plus importante le mercredi matin. La faille passait par une porte d'entrée connue : un composant de PHP que presque aucun site web n'utilise. Nous avons désactivé ce composant sur tous nos serveurs d'hébergement web et nos serveurs infogérés, avant même que la mise à jour soit disponible. Nous avons ainsi pu laisser les sites web en ligne, au lieu de les couper par précaution. Nous avons également mis à jour à l'avance toutes les versions de PHP vers la version la plus récente disponible, afin que la vraie mise à jour puisse ensuite être appliquée plus vite.

Chronologie de PHP2Shell (heure néerlandaise)
QuandCe qui s'est passé
Août 2026Des chercheurs découvrent les failles, en partie grâce à l'IA, et les signalent à PHP.
Mardi 20 octobreDes détails fuitent et PHP avance la mise à jour. Nous recensons toutes les versions de PHP sur l'ensemble de nos serveurs, y compris nos systèmes internes.
Mercredi 21 octobre, matinNous fermons la porte d'entrée connue de l'attaque sur tous nos serveurs. Cloudflare observe les premières tentatives d'attaque.
Mercredi 21 octobre, en journéeDes sites publics et plusieurs hébergeurs se mettent hors ligne par précaution. Nous n'avons pas besoin de mettre des sites web hors ligne.
Mercredi 21 octobre, 15 h 38PHP publie la mise à jour. En moins d'une heure, notre premier serveur est mis à jour.
Mercredi soirLe PHP par défaut de tous nos serveurs tourne sur la nouvelle version. CloudLinux fournit des versions mises à jour, y compris pour les anciennes versions de PHP.
Nuit du mercredi au jeudi 22 octobreToutes les versions de PHP sur l'ensemble de nos serveurs d'hébergement web sont mises à jour.
Jeudi 22 octobre, matinContrôle final sur tous les serveurs et systèmes internes : rien n'a été oublié.
Chronologie de PHP2Shell d'août au jeudi 22 octobre 2026 : du signalement des failles aux premières attaques et à la mise à jour de PHP, jusqu'au contrôle final sur tous nos serveurs
La chronologie de PHP2Shell en un coup d'œil (heure néerlandaise).

Les versions de PHP que vous choisissez pour votre site web proviennent de CloudLinux, le système d'exploitation de nos serveurs. CloudLinux fournit aussi des correctifs pour les anciennes versions de PHP que PHP lui-même ne met plus à jour. Après la mise à jour, nous avons vérifié sur chaque serveur que le correctif était bien en place, et testé les sites web avant et après.

Quels dégâts PHP2Shell aurait-il pu causer ?

Imaginons qu'un serveur n'ait pas été mis à jour à temps. Que peut alors faire un attaquant avec un site web ?

  • Voler des données. La base de données d'un site web contient souvent les noms, adresses, commandes et identifiants de connexion des clients.
  • Espionner les paiements. Du code peut être placé discrètement dans une boutique en ligne pour intercepter les données de paiement des visiteurs, sans que le propriétaire s'en aperçoive.
  • Lire des secrets. Des mots de passe et des clés peuvent fuiter via la mémoire du serveur, par exemple ceux de la connexion avec votre prestataire de paiement ou votre logiciel de comptabilité.
  • Détourner votre site web. Pour de fausses pages de connexion, du spam ou la redirection des visiteurs vers des sites frauduleux. Conséquence : Google avertit les visiteurs que votre site a peut-être été piraté, et vos e-mails atterrissent sur des listes noires.

Vous vous dites peut-être : mon site web est trop petit pour intéresser qui que ce soit. Malheureusement, ça ne marche pas comme ça. Les attaquants ne cherchent pas leurs victimes à la main. Ils font passer tout Internet au crible par des programmes à la recherche de sites web vulnérables, dans les quelques heures qui suivent une telle annonce. Tout site web doté d'une version de PHP vulnérable devient alors une cible, grand ou petit.

Et les dégâts ne s'arrêtent pas à la technique. Si des données personnelles fuitent, vous devez, en tant qu'entrepreneur, le signaler à l'Autoriteit Persoonsgegevens (l'autorité néerlandaise de protection des données). S'y ajoutent les frais de remise en état, le chiffre d'affaires perdu et une confiance écornée chez vos clients.

Chez nous, chaque site web tourne dans son propre environnement isolé. Si quelque chose tourne mal quelque part, une intrusion sur un site web ne se propage pas comme ça chez les voisins. C'est une couche de sécurité supplémentaire, mais elle ne remplace pas des mises à jour faites à temps.

Devez-vous faire quelque chose vous-même après PHP2Shell ?

Pas pour la mise à jour de PHP elle-même. Nous avons tout de même quelques conseils :

  • Vérifiez si vous le souhaitez. Notre article de la base de connaissances explique comment voir que la mise à jour est installée, et pourquoi votre numéro de version reste parfois identique.
  • Vous utilisez PHP 8.1 ou une version plus ancienne ? Cette fois, un correctif est aussi sorti pour ces versions, mais ce n'est pas toujours le cas. Passez à PHP 8.2 ou supérieur. Notre guide sur le choix de la version de PHP explique comment choisir la bonne version.
  • Mettez votre site web à jour vous-même. Nous nous occupons du serveur et de PHP. WordPress, les extensions et les thèmes, c'est à vous de les mettre à jour. Vous trouverez d'autres conseils dans l'article sécuriser un site web : 8 conseils contre les pirates.
  • Vous avez un site web ailleurs ou votre propre serveur ? Vérifiez alors que PHP a été mis à jour vers la version 8.2.35, 8.3.36, 8.4.27 ou 8.5.12, ou une version plus récente.

L'état actuel des incidents et de la maintenance se trouve toujours sur status.theory7.net. Si vous avez un doute sur votre propre site web, ouvrez un ticket en indiquant votre nom de domaine. Nous vérifierons volontiers pour vous.

Il y aura toujours des failles dans les logiciels, y compris dans les fondations d'Internet. Ce qui compte, c'est la rapidité avec laquelle elles sont corrigées. C'est ce qui nous a occupés cette semaine, et nous continuerons ainsi.

Questions fréquentes

Qu'est-ce que PHP2Shell ?

PHP2Shell est le surnom de deux failles graves dans PHP (CVE-2026-109618 et CVE-2026-109619), rendues publiques le 21 octobre 2026. Un attaquant pouvait s'en servir pour prendre le contrôle d'un serveur web sans mot de passe. PHP les a corrigées dans les versions 8.2.35, 8.3.36, 8.4.27 et 8.5.12.

Mon site web chez Theory7 était-il vulnérable ?

Tout site web fonctionnant avec PHP était en principe vulnérable jusqu'à la mise à jour. Dès le mercredi matin 21 octobre, nous avions fermé une porte d'entrée connue de l'attaque, puis installé les mises à jour sur tous nos serveurs d'hébergement web, les dernières dans la nuit du 21 au 22 octobre.

Pourquoi d'autres sites web ont-ils été mis hors ligne, et pas ceux de Theory7 ?

Ceux qui ne pouvaient pas attendre la mise à jour sans risque ont mis des sites web hors ligne par précaution. Nous avions déjà fermé la porte d'entrée connue de l'attaque le mercredi matin, avant même que la mise à jour soit disponible. Les sites web hébergés chez nous ont ainsi pu rester en ligne pendant que nous installions la mise à jour.

Dois-je faire quelque chose moi-même ?

Pas pour la mise à jour de PHP : nous l'avons installée. Si vous utilisez PHP 8.1 ou une version plus ancienne, nous vous conseillons de passer à PHP 8.2 ou supérieur. Pensez aussi à tenir votre site web lui-même à jour, comme WordPress et les extensions.

Comment vérifier que mon PHP est à jour ?

Regardez la date de compilation (build) de votre version de PHP. Si elle indique le 21 octobre 2026 ou une date ultérieure, la mise à jour est installée. Notre article de la base de connaissances sur la mise à jour de sécurité de PHP explique pas à pas comment le vérifier.

Sources