PHP2Shell : deux failles critiques dans PHP, des attaques déjà en cours
Deux failles permettent de prendre le contrôle d'un serveur web qui exécute PHP, à distance et sans mot de passe. Les correctifs existent depuis le 21 octobre ; des tentatives d'attaque ont commencé avant même leur annonce. Si votre site tourne sous WordPress, Joomla ou Drupal, il est probablement concerné.
Le 23 octobre, le projet PHP a annoncé une troisième faille, CVE-2026-115560, bien moins probable : elle ne touche que des sites aux réglages de session inhabituels. Pas encore de correctif ; en attendant, un réglage suffit, le même que pour la deuxième faille. Si votre prestataire l’a déjà posé, rien de plus à faire.

Pour les pros
Pour les professionnels
Correctif disponible, 8.5.12, 8.4.27, 8.3.36, 8.2.35
CVE-2026-109618
- Nature
- exécution de code à distance par corruption mémoire sur erreur de dépassement de mémoire (CWE-416)
- CVSS v4.0, gravité
- CVSS9,2
- Corrigé dans
- 8.5.12
- 8.4.27
- 8.3.36
- 8.2.35
- Vecteur
- réseau, sans authentification, sans interaction ; complexité haute, conditions préalables requises
- Vecteur CVSS v4.0
AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H- EPSS (23/10)
- EPSS11,6 % (96e centile)
- Catalogue KEV
- non, au 24/10
- Fiches et avis
- NVD pour CVE-2026-109618, cve.org pour CVE-2026-109618
CVE-2026-109619
- Nature
- exécution de code à distance par un état global périmé entre deux requêtes
- CVSS v4.0, gravité
- CVSS9,2
- Corrigé dans
- 8.5.12
- 8.4.27
- 8.3.36
- 8.2.35
- Vecteur
- réseau, sans authentification, sans interaction ; complexité haute, conditions préalables requises
- Vecteur CVSS v4.0
AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H- EPSS (23/10)
- EPSS6,0 % (93e centile)
- Catalogue KEV
- non, au 24/10
- Fiches et avis
- NVD pour CVE-2026-109619, cve.org pour CVE-2026-109619
Versions anciennes
Toutes les branches 5.x, 7.x, 8.0 et 8.1 sont touchées, depuis au moins la 5.4.0. PHP ne publie pas de version pour elles. Son équipe sécurité fournit des rétroportages minimaux en source pour 7.4, 8.0 et 8.1 ; pour 7.3 et avant, il n'y a rien : il faut migrer. Les distributions et les fournisseurs de support long peuvent livrer leurs propres paquets corrigés.
Ce qu'on sait de l'exploitation
Amazon a vu une première tentative sur ses leurres le 17 octobre, quatre jours avant la divulgation. watchTowr en observe depuis le 21, sans réussite constatée. Le 22, Amazon et Hadrian parlent d'exploitation à grande échelle, et le CERT-FR dit connaître des preuves de concept pour des déploiements particuliers. La CISA et le Centre canadien pour la cybersécurité n'avaient pas observé d'exploitation le 21. En résumé : des tentatives nombreuses, aucune réussite confirmée publiquement à ce jour.
L'évolution de la situation
Première tentative d'exploitation vue par Amazon sur ses leurres, quatre jours avant la divulgation.
Publication des correctifs et divulgation des deux failles.
Amazon et Hadrian parlent d'exploitation à grande échelle ; le CERT-FR dit connaître des preuves de concept pour des déploiements particuliers.
Le projet PHP annonce une troisième faille, CVE-2026-115560, bien moins probable.
À faire, dans l'ordre
Mettre à jour vers
8.5.12,8.4.27,8.3.36ou8.2.35, ou vers le paquet corrigé de votre distribution.Redémarrer tous les processus PHP (PHP-FPM, Apache avec
mod_php, conteneurs). Sans redémarrage, l'ancien code reste en mémoire.En attendant, si la mise à jour est impossible :
session.upload_progress.enabled = Offdansphp.ini(etphp_admin_flag[session.upload_progress.enabled] = offsous PHP-FPM), ce qui ne couvre que la109619cve.org ; filtrer ou surveiller les requêtesmultipartau pare-feu applicatif. PHP propose aussimemory_limit=-1non modifiable par l'application pour la109618cve.org, à doubler d'une limite de mémoire au niveau du conteneur. Ces réglages vont dansphp.iniou le pool FPM, jamais parini_set()ni.user.ini. Aucun ne protège complètement.Troisième faille, CVE-2026-115560 (annoncée par PHP le 23 octobre, sans correctif à ce jour, avis complet promis avec la prochaine version régulière) : régler
session.upload_progress.enabled = Offjusqu’à cette version. Seules sont exposées les applications qui passentsession.serialize_handlerdephp_binaryouphp_serializeàphpparini_set()avantsession_start(), avec le suivi d’envoi de session actif. Si le réglage a été posé pour la109619, le garder.Chercher des traces depuis le 17 octobre : cookies
PHPSESSIDanormalement gros ou mal formés, requêtesmultipartinhabituelles suivies d'erreurs de mémoire ou de séries d'erreurs 500, processus PHP qui plantent ou redémarrent sans raison.Si un serveur exposé n'était pas à jour : envisager la compromission, changer les secrets (mots de passe de base, clés d'API) qu'il détient.
En clair
Pour tout le monde
PHP est le moteur qui fait tourner la plupart des sites web, dont presque tous les WordPress. Deux erreurs dans sa gestion de la mémoire permettent à un intrus d'y faire exécuter ses propres commandes, comme s'il avait les clés du serveur. Si vous avez un site, demandez aujourd'hui à votre hébergeur ou à votre prestataire s'il a installé la mise à jour et redémarré PHP.
Ce que ça change en Calédonie
Les sites des entreprises, des associations et des collectivités sont souvent bâtis sur WordPress ou Joomla et confiés à un prestataire. Le risque n'est pas d'être visé : les attaques sont automatiques et balayent tout internet. Une seule question à poser à son prestataire cette semaine : « la mise à jour de PHP du 21 octobre est-elle installée, et PHP a-t-il été redémarré ? »
Le coin des devops en PLS
À envoyer à ta hiérarchie, version diplomate :
« Bonjour, deux failles critiques touchent PHP et des attaques sont en cours. Je mets à jour et je redémarre les services ce soir, cinq minutes d'interruption. C'est moins long qu'une semaine de communication de crise. Je reste disponible pour en parler, juste après le redémarrage. »
Si on te répond « ça ne peut pas attendre lundi ? » :
« Les robots qui balayent internet ne prennent pas de week-end. Moi oui, dès que c'est corrigé. »
Ton niveau de PLS :
- 🟢 À jour et redémarré : va prendre un café, tu l'as mérité.
- 🟠 À jour, pas redémarré : tu es à un
systemctl restart php-fpmdu café. - 🔴 Encore en PHP
7.3: respire. Puis ouvre le ticket de migration que tout le monde repousse depuis 2021.
Le haïku du jour :
Mémoire épuisée,
le saut retombe dans le vide :
redémarre FPM.
Réseau de sources
Qui a relevé l’alerte, et quelles autorités la documentent.
- CERT-FR, alerte CERTFR-2026-ALE-014
- watchTowr, FAQ sur PHP2Shell
- Tenable, questions fréquentes sur PHP2Shell
- Rescana, chronologie des failles PHP d'octobre 2026
- Fiches CVE
- Avis de PHP
- Scores EPSS
Sources (10)
- Relevé parRelevéCERT-FR, alerte CERTFR-2026-ALE-014 (site externe, nouvel onglet)cert.ssi.gouv.fr
- Relevé parRelevéwatchTowr, FAQ sur PHP2Shell (site externe, nouvel onglet)watchtowr.com
- Relevé parRelevéTenable, questions fréquentes sur PHP2Shell (site externe, nouvel onglet)tenable.com
- Relevé parRelevéRescana, chronologie des failles PHP d'octobre 2026 (site externe, nouvel onglet)rescana.com
- Fiches CVEAutoritéCVE-2026-109618 sur CVE.org (site externe, nouvel onglet)cve.org
- Fiches CVEAutoritéCVE-2026-109619 sur CVE.org (site externe, nouvel onglet)cve.org
- Avis de PHPAutoritéavis GHSA-w8hw-w9fx-j79w (site externe, nouvel onglet)github.com
- Avis de PHPAutoritéavis GHSA-6wmf-4rv5-p3rp (site externe, nouvel onglet)github.com
- Avis de PHPAutoritéphp.net, avis informatif du 23 octobre (session upload progress) (site externe, nouvel onglet)php.net
- Scores EPSSAutoritéFIRST, Exploit Prediction Scoring System (site externe, nouvel onglet)first.org
- Contenu du CERT-FR réutilisé sous Licence Ouverte 2.0.