Vulnérabilités critiques de PHP : vérifiez le site de votre affaire ou de votre initiative
Le site d'une entreprise de vétérans, d'une organisation de la société civile ou d'un projet éducatif est le plus souvent fait sous WordPress — donc en PHP. Le 21 octobre, deux failles ont été trouvées dans ce langage, par lesquelles un serveur peut être pris sans aucun mot de passe. Nous l'expliquons simplement : qui est concerné, que demander à son prestataire et que faire si l'on n'en a pas.

- Ce qui s'est passé — Dans le langage PHP, qui fait tourner la majorité des sites, deux failles critiques ont été trouvées. Les correctifs sont sortis le 21 octobre : PHP 8.5.12, 8.4.27, 8.3.36 et 8.2.35.
- Qui est concerné — Tous ceux qui ont un site sous WordPress, Joomla ou OpenCart — de l'entrepreneur individuel avec son atelier à l'organisation associative avec une seule page.
- Que faire — Écrire une seule phrase à celui qui gère votre site ou votre hébergement : « PHP a-t-il été mis à jour vers les versions du 21 octobre 2026 ? » — et obtenir la réponse par écrit.
Beaucoup de vétérans ouvrent après le service leur propre affaire, se lancent dans un projet associatif ou créent une initiative éducative — et presque toujours un site finit par apparaître. Il a généralement été fait sous WordPress : vite, pour pas cher, souvent par une connaissance ou un freelance avec qui on n'a plus de contact depuis longtemps.
Le 21 octobre 2026, l'équipe PHP a publié des mises à jour exceptionnelles, et l'équipe européenne de réponse aux incidents informatiques CERT-EU a publié une alerte urgente. La raison : deux vulnérabilités avec un score de dangerosité de 9,2 sur 10, qui permettent à un attaquant d'exécuter son propre code sur votre serveur. Sans identifiant, sans mot de passe, sans la moindre action de votre part.
Ci-dessous, sans jargon technique inutile : ce qui s'est passé, pourquoi cela concerne même le plus petit site et quelles trois phrases il vaut la peine d'écrire dès aujourd'hui à son hébergeur.
Ce qui a été découvert exactement
Il y a deux vulnérabilités, toutes deux notées 9,2, et toutes deux mènent au même résultat : l'exécution de code étranger sur le serveur sans aucune authentification.
CVE-2026-109618 — rupture en cas de manque de mémoire
PHP possède un paramètre memory_limit: une requête qui a consommé trop de mémoire est interrompue de force. Le problème est la manière exacte dont elle est interrompue. PHP peut s'arrêter au moment où les données internes de la requête ne sont remplies qu'à moitié — par exemple pendant l'analyse d'un fichier envoyé via un formulaire de téléversement. Le nettoyage qui suit une telle requête prend ces données inachevées pour de vraies données et tente de libérer une mémoire qui n'a jamais existé. Et dans cette mémoire peut se trouver ce que l'attaquant y a déposé lors de requêtes précédentes.
CVE-2026-109619 — restes de la requête précédente
La seconde faille concerne le fait que le serveur n'« oublie » pas complètement le visiteur précédent. L'état interne qui appartenait à une requête survit parfois à la libération de la mémoire — après une erreur fatale, par exemple. La requête suivante, tombée dans le même processus de travail, a le temps d'utiliser ces restes avant que l'initialisation habituelle ne les remette à zéro.
Est menacée toute installation de PHP qui traite des requêtes web : PHP-FPM, Apache avec le module mod_php, php-cgi, FrankenPHP, LiteSpeed. La configuration la plus risquée, selon l'équipe PHP, est précisément celle d'Apache avec mod_php — elle reste la configuration standard chez beaucoup d'hébergeurs bon marché.
L'exploit de démonstration fonctionne avec une seule requête non authentifiée — avant même que le code du site ne commence à s'exécuter. Autrement dit, ni les plugins de sécurité, ni les mots de passe complexes, ni l'authentification à deux facteurs n'aident ici : l'attaque se produit un niveau plus bas.
Quelles versions sont menacées
Tout ce qui est antérieur à ces versions est vulnérable :
| Branche PHP | Version sûre |
|---|---|
| PHP 8.5 | 8.5.12 |
| PHP 8.4 | 8.4.27 |
| PHP 8.3 | 8.3.36 |
| PHP 8.2 | 8.2.35 |
| PHP 8.1 et antérieures | plus de support |
Une catégorie de risque à part : les produits commerciaux et libres dans lesquels PHP est intégré sans que cela se voie de l'extérieur — panneaux d'administration, équipements réseau, systèmes de vidéosurveillance, portails d'entreprise. La liste de ces logiciels est tenue dans le dépôt du NCSC néerlandais.
Pourquoi « j'ai un petit site » ne sauve pas ici
Personne ne cherche votre site en particulier. Dès que des exemples d'attaque deviennent publics — et ils le sont déjà —, des scanners automatiques se lancent en quelques heures et passent tout l'internet au crible, adresse après adresse. Peu leur importe qu'il s'agisse du site d'une grande entreprise ou de la page d'un atelier à cinq prestations : seul compte le fait que le serveur réponde avec une version vulnérable.
Ensuite le scénario est classique : du code étranger est téléversé sur le serveur, le site se met à distribuer du spam ou des pages de publicité étrangère, le domaine se retrouve sur les listes noires et le courrier envoyé depuis lui n'arrive plus aux clients. Pour une petite affaire, c'est doublement douloureux : le site est souvent la seule vitrine, et la remise en état prend des semaines et de l'argent qui n'était pas prévu.
Nous prévenons séparément de ce qui suit généralement. Après de telles nouvelles, des « spécialistes » se manifestent et écrivent d'eux-mêmes aux propriétaires de sites : « vous avez une vulnérabilité, donnez-nous d'urgence les accès ». Ne transmettez les accès au site et à l'hébergement qu'à quelqu'un que vous connaissez et que vous payez pour la maintenance.
Que faire — étape par étape
- Déterminez votre version. Dans le panneau d'hébergement, c'est la rubrique « Version de PHP » ou « PHP Selector » ; sur un serveur à soi, la commande
php -v. Il est important de vérifier la version avec laquelle le site fonctionne réellement, et non celle de la ligne de commande : elles diffèrent souvent. - Mettez à jour au sein de votre branche. Passer de 8.2.29 à 8.2.35 est une correction à l'intérieur d'une même branche : la compatibilité est préservée et le site n'en casse pas. Ne confondez pas cela avec le passage de 8.2 à 8.4 — celui-là demande bien des vérifications.
- Si vous êtes en 8.1 ou plus ancien — ces branches ne sont plus supportées. Vu la gravité de la situation, l'équipe de sécurité de PHP a publié des correctifs minimaux aussi pour 7.4, 8.0 et 8.1, et une partie des hébergeurs maintient ses propres compilations. Mais la bonne décision est de passer à une branche supportée, et il vaut mieux le planifier maintenant que la prochaine fois.
- Redémarrez les gestionnaires. Sans redémarrage de
php-fpmou d'Apache, les processus de travail continuent de tourner avec l'ancien code et la mise à jour n'a en fait aucun effet. - Vérifiez le résultat. Le plus simple est une page temporaire avec
phpinfo(), qu'il faut supprimer juste après la vérification, ou bien la rubrique « Version de PHP » du panneau après le redémarrage.
Les clients d'un hébergement n'auront le plus souvent rien à faire à la main : les grands fournisseurs ont reçu les correctifs à l'avance et mettent à jour leurs machines eux-mêmes. Il vaut la peine d'écrire une ligne au support — « PHP est-il mis à jour vers les versions du 21 octobre 2026 ? » — et d'obtenir la réponse par écrit.
Si la mise à jour immédiate est impossible
Il arrive qu'un site soit ancien et que la mise à jour demande une préparation. Il existe alors des mesures temporaires qui réduisent la fenêtre d'attaque :
- fermer le débordement de mémoire comme point d'entrée :
memory_limit=-1, défini de telle sorte que l'application ne puisse pas le redéfinir, et une vérification qu'aucun pool ni répertoire ne remet la limite en place ; - réduire
post_max_size— 8M pour les sites sans téléversement de fichiers, 32M si les téléversements sont nécessaires, etupload_max_filesizeà garder plus bas ; - désactiver
session.upload_progress.enabledet redémarrer tous les processus de travail ; - sur PHP 8.5, désactiver en plus
fatal_error_backtraces; - limiter la taille et la complexité des requêtes au niveau du serveur web ou du proxy.
Aucune de ces mesures ne rend l'installation sûre. Elles ne ferment que les chemins connus — seule la mise à jour règle complètement le problème.
Si même cela est impossible, le CERT-EU conseille une solution simple et impopulaire : retirer le service vulnérable de l'internet public jusqu'à ce que le correctif soit installé et vérifié.
D'où viennent ces informations
- CERT-EU, Security Advisory 2026-018 « Critical Vulnerabilities in PHP »
- L'annonce de la publication des mises à jour sur php.net
- Description technique de CVE-2026-109618 et CVE-2026-109619
Si vous ne savez pas avec quoi votre site est fait ni qui en est responsable, c'est déjà une raison d'y voir clair sans attendre la prochaine nouvelle. La vérification peut aussi être commandée auprès de SmartGT, l'équipe qui maintient les ressources numériques du cluster.
Auteur de l'article — SmartGT. Source originale : « Vulnérabilités critiques de PHP : la mise à jour ne peut pas attendre ».