En bref : la faille PHP expliquée simplement : PHP est le logiciel du serveur web qui assemble les sites au moment où quelqu'un les ouvre. Avec PHP2Shell, PHP ne nettoie pas correctement dans certains cas exceptionnels, et c'est précisément ce que des attaquants peuvent exploiter pour exécuter leurs propres commandes sur le serveur sans mot de passe. Un remède : une mise à jour de PHP suivie d'un redémarrage, généralement installée par votre hébergeur ou prestataire.
Pourquoi tout le monde parle de PHP en ce moment
Dans l'actualité, il était question d'une « faille de sécurité critique », des autorités ont mis des sites hors ligne, le BSI (office fédéral allemand de la sécurité des technologies de l'information) a alerté au niveau orange. Pour de nombreux propriétaires et collaborateurs, cela semble à la fois menaçant et incompréhensible. Qu'est-ce que PHP, et pourquoi cela concerne-t-il justement le site web de sa propre entreprise ?
Cet article explique la situation sans jargon. Qui souhaite ensuite approfondir trouvera l'analyse technique sous Qu'est-ce que PHP2Shell ?.
Ce que fait réellement PHP : une image du quotidien
Imaginez votre site comme un restaurant. Le client est le visiteur, la commande est l'ouverture d'une page. PHP est la cuisine : elle prend chaque commande, va chercher les ingrédients dans la réserve, c'est-à-dire la base de données, et dresse l'assiette, c'est-à-dire la page terminée.
Pour que cela aille vite, la cuisine compte plusieurs cuisiniers qui traitent successivement de nombreuses commandes. Les spécialistes les appellent « workers ». Après chaque commande, le poste de travail doit être entièrement remis en ordre avant que la suivante n'arrive.
De très nombreux systèmes connus fonctionnent sur PHP : WordPress, Shopware, TYPO3, Joomla, Nextcloud et d'innombrables développements maison. Le fonctionnement général de PHP est expliqué dans l'article Qu'est-ce que PHP ?.
La faille PHP expliquée simplement : ce qui dysfonctionne avec PHP2Shell
PHP2Shell se compose de deux erreurs. Toutes deux ont à voir avec le nettoyage, et toutes deux ne surviennent que dans des situations exceptionnelles.
La première erreur (CVE-2026-109618) : il arrive que la cuisine manque de place en pleine préparation. Les spécialistes parlent de « Out of Memory », la mémoire est pleine. Le travail est alors interrompu alors que la commande n'est préparée qu'à moitié. Lors du nettoyage qui suit, PHP prend à tort des éléments inachevés pour achevés.
La seconde erreur (CVE-2026-109619) : après une commande, quelque chose reste sur le poste de travail qui aurait déjà dû être débarrassé. La commande suivante chez le même cuisinier peut y accéder avant que cela soit retiré.
Dans les deux cas : qui sait exactement comment provoquer cette situation exceptionnelle peut amener la cuisine à faire des choses qui n'ont jamais été commandées. Au pire, il prend le contrôle du serveur. Il n'a pas besoin de mot de passe pour cela. La manière dont une requête est traitée pas à pas dans PHP est décrite dans l'article sur le cycle de vie d'une requête.
Vous n'avez pas besoin de comprendre la technique pour agir correctement. Une seule question à votre hébergeur ou prestataire est décisive : PHP est-il mis à jour et redémarré sur notre serveur, et pouvez-vous le confirmer par écrit ?
Les principaux termes en un coup d'œil
| Terme | Expliqué simplement |
|---|---|
| PHP | logiciel du serveur qui assemble les pages web lorsqu'elles sont ouvertes |
| Faille de sécurité | une erreur que des inconnus peuvent exploiter |
| Numéro CVE | numéro d'identification mondial unique d'une faille de sécurité |
| CVSS 9,2 | gravité sur une échelle jusqu'à 10 ; 9,2 est jugé critique |
| Remote Code Execution | des inconnus peuvent exécuter à distance leurs propres commandes sur le serveur |
| Shell | ligne de commande permettant de piloter un serveur |
| Correctif (patch) | mise à jour qui corrige l'erreur |
| Rétroportage (backport) | correction intégrée dans une version plus ancienne sans changer le numéro de version |
| Redémarrage | arrêter les anciens processus PHP pour que la version corrigée travaille réellement |
Pourquoi mise à jour, redémarrage et vérification vont ensemble
Restons au restaurant. La mise à jour est une nouvelle consigne de travail pour la cuisine : voici comment on nettoiera désormais. Sauf que les cuisiniers actuellement de service continuent de travailler selon l'ancienne consigne. La nouvelle ne s'applique qu'au changement d'équipe. C'est précisément le redémarrage : tous les anciens processus PHP sont arrêtés, de nouveaux démarrent avec la version corrigée. Sans redémarrage, la mise à jour est certes sur le serveur, mais n'agit pas.
Et l'image montre autre chose. Une nouvelle consigne empêche de futurs incidents, mais ne dit rien sur le fait que, les jours précédents, quelqu'un se soit glissé inaperçu dans la cuisine et y ait caché quelque chose. C'est pourquoi une recherche de traces fait partie de la suite de la mise à jour, surtout si le serveur était accessible entre le 17 octobre et la mise à jour.
Ce que vous devriez faire maintenant : trois situations de départ typiques
Ce qu'il faut faire dépend de l'endroit où se trouve votre site.
- Votre site est chez un hébergeur (hébergement mutualisé). L'hébergeur installe généralement la mise à jour de PHP. Votre tâche : obtenir une confirmation écrite et vérifier dans l'espace client qu'une version actuelle de PHP est configurée. Ce qui vous incombe par ailleurs figure sous Hébergement mutualisé : ce que fait l'hébergeur et ce que vous devez faire.
- Une agence ou un prestataire informatique s'occupe de votre site. Demandez-lui si la mise à jour a été installée et PHP redémarré, et priez-le de rechercher brièvement des anomalies.
- Vous avez votre propre serveur. Alors vous-même ou votre informatique en êtes responsables : mettre à jour PHP, redémarrer tous les processus PHP, sauvegarder les journaux à partir du 20 octobre et rechercher des traces.
Dans les trois cas : une mise à jour de WordPress ou d'un autre système sur le site ne ferme pas la faille. Et une mise à jour ne prouve pas que rien ne s'est produit avant.
Comment PHP SOS aide-t-il concrètement ?
- Expliquer clairement : nous vous disons en termes clairs si et comment vos systèmes sont concernés.
- Parler à l'hébergeur : sur demande, nous clarifions le niveau de correctif directement avec votre hébergeur ou prestataire.
- Mettre à jour et vérifier : pour les serveurs en propre, nous installons la mise à jour, redémarrons PHP et recherchons des traces.
- Consigner par écrit : vous recevez une courte documentation de l'état.
Plus d'informations sous assistance immédiate PHP2Shell.
Conclusion
PHP2Shell semble compliqué, mais la situation ne l'est pas sur le fond : la cuisine de votre site ne nettoie pas correctement dans des cas exceptionnels, et cela peut être exploité. La mise à jour le répare. Votre tâche est de vous assurer qu'elle est installée, activée et prouvée, et, dans le doute, de faire vérifier si quelqu'un était dans la cuisine auparavant.
Questions fréquentes
Qu'est-ce que PHP en termes simples ?
PHP est un langage de programmation qui travaille sur le serveur web. Lorsque vous ouvrez une page, PHP l'assemble à cet instant, par exemple avec les produits actuels, les prix ou votre panier, et l'envoie à votre navigateur.
Mon site est-il concerné si j'utilise WordPress ?
WordPress fonctionne avec PHP, le serveur qui le porte est donc peut-être concerné. Que votre site soit exposé dépend du niveau de PHP sur le serveur, non de la version de WordPress. Interrogez votre hébergeur ou votre prestataire sur la mise à jour de PHP.
Puis-je être exposé en tant que visiteur d'un site ?
La faille concerne les serveurs, non les ordinateurs des visiteurs. Si un serveur est pris en main, des attaquants pourraient toutefois par exemple modifier des contenus ou rediriger des visiteurs vers d'autres sites. C'est pourquoi la mise à jour est importante pour les exploitants.
Que signifie le nom PHP2Shell ?
Il décrit la conséquence possible : par PHP, un attaquant peut, au pire, obtenir un shell, c'est-à-dire une sorte de télécommande du serveur. Les désignations officielles sont CVE-2026-109618 et CVE-2026-109619.