Blog · Cybersécurité
PHP, Stormshield
patcher une faille critique en 7 étapes
Deux CVE PHP critiques, un éditeur qui met son service de sauvegarde en maintenance, et des pare-feux qui tombent aussi. Voici comment on patche, dans quel ordre, et ce qu'on exige d'un fournisseur.
Les faits, d'abord
Le 21 octobre 2026, deux vulnérabilités critiques ont été publiées dans PHP : CVE-2026-109618 et CVE-2026-109619, surnommées « php2shell ». Elles permettent une exécution de code à distance non authentifiée et touchent toutes les installations PHP qui servent des requêtes web. La CISA a publié une alerte le jour même, avec une consigne simple : inventorier, puis corriger en priorité les systèmes exposés à Internet.
| Branche | Version corrigée |
|---|---|
| PHP 8.5 | 8.5.12 |
| PHP 8.4 | 8.4.27 |
| PHP 8.3 | 8.3.36 |
| PHP 8.2 | 8.2.35 |
Sources : alerte CISA du 21/10/2026
(cisa.gov)
et avis officiel php.net. Sur Ubuntu 24.04, la correction arrive par un backport de la
branche 8.3, c'est la version du paquet qu'il faut vérifier, pas le numéro affiché par
php -v.
Ce qu'un éditeur doit dire pendant un incident
Le même jour, une partie de nos clients recevait la communication suivante, nous la reproduisons telle quelle, parce qu'elle illustre ce qu'on attend d'un fournisseur sous pression :
« Suite à la publication hier de deux vulnérabilités critiques affectant PHP (CVE-2026-109618 et CVE-2026-109619), et par mesure de stricte prévention pour garantir la sécurité de vos données, nous appliquons actuellement un correctif d'urgence. Par conséquent, notre service d'Autobackup a été placé en maintenance exceptionnelle hier soir.
Impact sur vos services : indisponible, l'envoi (upload) de nouvelles sauvegardes vers notre cloud est temporairement suspendu le temps de l'intervention […] Disponible, vos données actuelles sont en sécurité. Vous pouvez toujours télécharger et récupérer vos backups existants depuis votre interface MyStormshield.
Nous vous tiendrons informés de l'évolution de la situation lors de notre prochaine mise à jour, prévue lundi 26 octobre. »
Ce texte fait quatre choses, dans l'ordre : il nomme la cause (les deux CVE), il nomme le service touché, il sépare explicitement ce qui ne marche plus de ce qui marche encore, et il donne une date de prochaine nouvelle. C'est exactement la structure qu'il faut, et ce n'est pas anodin quand l'éditeur est aussi celui qui vous vend le pare-feu.
Deux enseignements pour nous, exploitants : une sauvegarde qui dépend d'un service tiers hébergé cesse d'exister le jour où ce service est en maintenance, et il faut une copie locale. La phrase « vos données actuelles sont en sécurité » n'est vraie que si la restauration a été testée.
Comment on patche, concrètement
Un correctif d'urgence n'est pas un apt upgrade lancé à l'aveugle. Notre
séquence, celle que nous avons appliquée sur notre propre parc :
- 1Inventorier avant de toucher PHP est rarement seul : il est dans des paquets, des conteneurs, des appliances et des dépendances d'applications. La CISA le dit explicitement, la prévalence n'est pas observable directement. On liste les versions réellement servies, pas celles du dépôt.
- 2Corriger d'abord ce qui est exposé Internet d'abord, puis les systèmes internes, puis les postes. Un serveur interne non exposé peut attendre une fenêtre de maintenance ; une page de connexion publique, non.
- 3Passer par le paquet de la distribution Sur Debian et Ubuntu, la version corrigée arrive comme backport : on vérifie le numéro de paquet (
apt policy php8.3-fpm), on n'installe pas un PHP compilé à la main sur un serveur de production. Les dépôts doivent être en HTTPS si le port 80 sortant est filtré. - 4Redémarrer les bons processus Mettre à jour le paquet ne suffit pas : ce sont les processus PHP-FPM qui doivent être relancés. Puis on recharge le frontal web sans le couper :
nginx -s reloadousystemctl reload apache2, jamais un redémarrage à l'aveugle. Penser à vider OPcache. - 5Vérifier ce qui est réellement servi Le numéro affiché par
php -vn'est pas la preuve : c'est celui du binaire en ligne de commande. On vérifie le handler du site, la version du module chargé, et on teste l'application. Sur Apache, le piège classique est unAddType application/x-httpd-phpou una2dismodoublié : le site continue de tourner sur l'ancienne version sans que rien ne le signale. - 6Ne pas patcher dans les conteneurs Une image se reconstruit sur une base corrigée et se redéploie. Un correctif appliqué à la main dans un conteneur disparaît au prochain déploiement, et laisse croire que le parc est à jour.
- 7Si on ne peut pas patcher tout de suite Palliatifs assumés et datés : pare-feu applicatif en amont, filtrage des uploads, retrait du service de l'exposition publique. La CISA mentionne le WAF comme protection temporaire, temporaire, pas définitive.
Les pare-feux non plus ne sont pas épargnés
Une appliance de sécurité exposée sur Internet est un serveur comme un autre : elle a des versions, des correctifs et des vulnérabilités. Les exemples récents ne manquent pas, et Fortinet en fournit deux qui ont servi de leçon à toute la profession.
| Référence | Ce que c'était | Avis officiel |
|---|---|---|
| FG-IR-22-398 CVE-2022-40684 |
Contournement d'authentification sur l'interface d'administration FortiOS, FortiProxy et FortiSwitchManager, exploitée dans la nature, avec liste d'indicateurs de compromission publiée par l'éditeur. | fortiguard.com/psirt/FG-IR-22-398 |
| FG-IR-23-097 CVE-2023-27997 |
Débordement de mémoire dans le SSL-VPN de FortiOS et FortiProxy, exécution de code à distance ; campagne attribuée à un acteur étatique (Volt Typhoon). | fortiguard.com/psirt/FG-IR-23-097 |
Ce que ces deux affaires disent, au-delà de la marque : l'interface d'administration d'un pare-feu ne doit jamais être joignable depuis Internet, le VPN doit être patché comme une application publique, et l'authentification à deux facteurs n'est pas une option. Fortinet publie des avis détaillés, avec les versions corrigées et les contournements, encore faut-il les lire le jour de leur publication. CISA publie de son côté des alertes pour les vulnérabilités réellement exploitées.
Du côté de Stormshield, les avis sont publiés sur advisories.stormshield.eu, avec la version produit et l'indice de gravité. Nous sommes intégrateur et exploitant de ces équipements, pas éditeur : les correctifs et les certifications restent ceux de Stormshield, notre travail est de les appliquer et de le prouver.
Nos liens avec Stormshield, et le suivi des tests
Nous intégrons et exploitons des équipements Stormshield chez nos clients : pare-feux, protections des postes, et la brique de sauvegarde dont il était question plus haut. Ce positionnement a une conséquence simple : nous ne choisissons pas les correctifs, nous les appliquons, et nous devons pouvoir dire, pour chaque client, quelle version tourne, quel avis la concerne et quand elle a été appliquée.
Le suivi est un cycle, pas un événement :
- Avant un état des lieux : versions, règles, exposition, comptes d'administration, sauvegarde de la configuration. Sans cet état initial, aucun test n'est interprétable.
- Pendant des tests de sécurité menés avec l'accord écrit du client, sur une fenêtre annoncée : recherche de services exposés, vérification des règles, tentative de contournement des accès distants, contrôle de la journalisation.
- Après chaque constat reçoit une correction, une date et un re-test. Un rapport sans re-test est un document, pas un résultat.
Surveiller les serveurs : Wazuh, héritier d'OSSEC
Un pare-feu arrête ce qui entre. Il ne dit pas qu'un fichier du serveur a changé à trois heures du matin. C'est le rôle d'un HIDS système de détection d'intrusion sur l'hôte, et c'est ce que nous déployons chez les clients qui nous confient des serveurs.
La filiation est utile à connaître : OSSEC est l'ancêtre, un HIDS libre apparu en 2004, toujours maintenu et encore parfaitement utilisable. Wazuh en est le descendant direct, qui ajoute un tableau de bord, un indexeur, la corrélation d'alertes et la conformité. Nous avons testé les deux, et nous exploitons Wazuh sur nos propres serveurs : un agent sur chaque machine, un gestionnaire central, et les journaux qui remontent.
Ce que nous surveillons concrètement, module par module :
| Module | Ce qu'il attrape |
|---|---|
| Intégrité des fichiers | Un fichier système, une page web ou une configuration modifiée hors fenêtre de maintenance, avec l'empreinte avant/après |
| Analyse de journaux | Connexions SSH refusées en série, comptes créés, services redémarrés, erreurs applicatives répétées |
| Détection d'intrusion | Répertoires ou fichiers suspects, processus anormaux, rootkits connus |
| Conformité (SCA) | Une note de durcissement par serveur, avec la liste des écarts, utile pour prouver, pas seulement pour rassurer |
| Inventaire | Versions de paquets installées, pour savoir en une requête qui est concerné par un CVE comme ceux du 21 octobre |
Les limites, dites franchement : un SIEM ne corrige rien, il constate. Il produit des faux positifs tant qu'il n'est pas réglé, comptez plusieurs semaines avant que le bruit descende. Et le gestionnaire ne doit jamais être exposé sur Internet : il collecte les journaux de tout le parc, c'est une cible de premier choix.
Nettoyer le trafic DNS : l'amplification, ce multiplicateur discret
Voici le problème le plus sous-estimé d'un réseau d'entreprise, et le plus simple à mesurer. Une requête DNS tient en quelques dizaines d'octets ; la réponse peut en faire plusieurs milliers. Le rapport entre les deux est le facteur d'amplification et il se compte en dizaines.
Conséquence : un serveur DNS qui répond à n'importe qui depuis Internet n'est pas un service, c'est une arme par réflexion. Un attaquant envoie des requêtes avec l'adresse source de sa victime, c'est de l'usurpation, rien de plus simple en UDP, et tous les résolveurs ouverts du monde répondent à cette victime. Une bande passante d'attaque de 1 Gb/s en requêtes peut produire des dizaines de Gb/s de réponses. C'est ce qu'on appelle un effet de multiplication, et c'est la raison pour laquelle les attaques par amplification DNS restent, année après année, parmi les plus volumineuses observées.
| Ce qu'on teste | Ce qu'on doit obtenir |
|---|---|
| Une requête depuis Internet pour un domaine que nous n'hébergeons pas | Aucune réponse, ou un refus explicite, jamais une résolution récursive |
| Le taux de réponse sur UDP/53 | Limité par une politique de débit (RRL), pas illimité |
| La taille maximale des réponses | Plafonnée ; EDNS0 et DNSSEC maîtrisés, pas subis |
| Les transferts de zone | Refusés à toute source non déclarée |
| Les requêtes de type ANY | Refusées : c'est le type qui amplifie le plus |
Le nettoyage se fait à trois endroits. Sur le résolveur : récursion restreinte aux réseaux légitimes, refus des requêtes hors zone, limitation de débit, taille de réponse plafonnée. Sur le pare-feu : le port 53 sortant ne doit pas laisser passer des requêtes vers n'importe quel résolveur, seuls nos résolveurs désignés sont joignables. Et sur le réseau : le filtrage anti-usurpation en amont, sans lequel une machine compromise chez nous peut émettre avec l'adresse d'un autre.
Pourquoi c'est aussi notre intérêt direct : un résolveur ouvert sur le réseau d'un client devient une arme pointée vers un tiers, son adresse se retrouve dans les listes de blocage, et c'est son lien, souvent le plus cher de l'île, qui sature le premier. Nettoyer son DNS, c'est se protéger et protéger le voisin.
Et ce n'est pas le seul protocole dans ce cas. Les mêmes tests s'appliquent au NTP, au SSDP et à memcached : trois services légitimes qui, mal configurés et exposés, offrent des facteurs d'amplification du même ordre. La règle est toujours la même : un service UDP exposé sur Internet doit être inventorié, limité et filtré, ou ne pas être exposé du tout.
Ce que nous retenons
- Une vulnérabilité n'est pas un incident tant qu'elle n'est pas exploitée mais on ne peut pas le savoir, donc on patche comme si elle l'était.
- La sauvegarde doit exister deux fois une copie locale, une copie distante. Le jour où le service distant est en maintenance, la copie locale est la seule qui compte.
- La preuve datée vaut mieux que la promesse version avant, version après, date, opérateur. C'est ce que nous remettons après une intervention.
- Le retour arrière fait partie du correctif un instantané ou une sauvegarde avant de toucher, sinon on ne corrige pas, on parie.
Nous ne promettons pas un parc sans faille. Nous promettons de savoir quoi faire quand une faille sort, et de pouvoir revenir en arrière si le correctif casse quelque chose.
Un projet comparable ? Nous répondons aux questions techniques en rendez-vous, avec les mêmes chiffres que dans ces articles.
L'offre correspondante : l'audit de cybersécurité et les pare-feux Stormshield.