CVE-2026-109619 (PHP2Shell) : use-after-free RCE CVSS 9.2 dans PHP exploitée depuis le 17 octobre, avant divulgation. Alerte CERT-FR CERTFR-2026-ALE-014.
En bref
- CVE-2026-109619 : vulnérabilité use-after-free (UAF) critique dans PHP (CVSS 9.2) permettant une exécution de code arbitraire à distance sans authentification — seconde composante de PHP2Shell
- Affecte PHP 8.5.x avant 8.5.12, PHP 8.4.x avant 8.4.27, PHP 8.3.x avant 8.3.36, PHP 8.2.x avant 8.2.35 — exploitation observée avant la divulgation publique
- Action urgente : mettre à jour PHP immédiatement vers 8.5.12, 8.4.27, 8.3.36 ou 8.2.35 ; appliquer la mitigation session.upload_progress.enabled=0 en attendant
Les faits
Le 21 octobre 2026, l'équipe de sécurité PHP a publié des mises à jour d'urgence corrigeant deux vulnérabilités critiques d'exécution de code à distance, collectivement baptisées PHP2Shell par la communauté de recherche en sécurité. CVE-2026-109619 est la seconde de ces deux failles, complémentaire à CVE-2026-109618 (débordement de mémoire), et tout aussi critique avec un score CVSS v4.0 de 9.2 attribué par l'équipe PHP.
CVE-2026-109619 est une vulnérabilité de type use-after-free (UAF) — utilisation après libération — présente dans le cœur du moteur PHP (CWE-416). La faille survient lorsqu'un état interne lié à une requête HTTP survit après que la mémoire de support a été libérée. Un worker PHP FPM ou CGI traitant plusieurs requêtes successives peut alors réutiliser cet état obsolète pointant vers une zone mémoire désallouée avant que l'initialisation normale ne le réinitialise.
Techniquement, l'état résiduel incriminé est l'état interne de progression d'upload de session (session upload progress). Lorsque la fonctionnalité session.upload_progress est activée (état par défaut dans de nombreuses configurations PHP), les métadonnées associées peuvent persister entre les requêtes dans le même worker. Un attaquant peut exploiter ce comportement en envoyant des requêtes multipart spécialement forgées pour contrôler le contenu de la mémoire libérée et y injecter du code exécutable.
Le vecteur CVSS v4.0 de CVE-2026-109619 est AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H, confirmant qu'aucune authentification ni interaction utilisateur n'est requise pour exploiter la faille depuis le réseau. La seule condition nécessaire est d'atteindre un serveur PHP exposé et de délivrer des requêtes HTTP. Les environnements PHP-FPM et PHP-CGI sont particulièrement exposés.
La chronologie de l'exploitation est préoccupante : selon watchTowr et Huntress, des tentatives d'exploitation de CVE-2026-109619 ont été observées dès le 17 octobre 2026, soit quatre jours avant la divulgation publique et la disponibilité des correctifs. Cette exploitation pré-divulgation suggère une fuite de l'information ou une découverte indépendante par des acteurs malveillants. À partir du 21 octobre, les attaques ont évolué à grande échelle, avec des attaquants adaptant dynamiquement leurs payloads pour contourner les règles de pare-feu applicatif (WAF) selon les données de télémétrie de plusieurs fournisseurs de sécurité.
Le CERT-FR a émis l'alerte CERTFR-2026-ALE-014 le 21 octobre 2026 pour signaler ces deux failles PHP et recommander une mise à jour immédiate. Le Cyber Security Agency of Singapore (CSA) a également émis une alerte le même jour. PHP est au cœur de l'écosystème web mondial : selon les estimations de W3Techs citées par Tenable, environ 77 % des sites web dont le langage côté serveur est connu utilisent PHP. La surface d'attaque globale est donc considérable.
La relation entre CVE-2026-109619 et CVE-2026-109618 mérite d'être précisée : les deux failles ont des mécanismes distincts (UAF pour 109619, débordement out-of-memory pour 109618) mais s'attaquent toutes deux à la gestion de l'état interne des requêtes PHP dans des contextes multi-requêtes. Elles ont été découvertes par les mêmes chercheurs et corrigées dans le même lot de mises à jour de sécurité. L'exploitation de l'une ou l'autre aboutit à une exécution de code arbitraire sur le serveur avec les privilèges du processus PHP.
D'après Datadog Security Labs et SOCRadar, les payloads d'exploitation observés en environnement réel incluent des téléchargements de webshells PHP, des reverse shells, et dans certains cas des déploiements de cryptomineurs ou de logiciels proxy malveillants. L'exploitation à des fins de ransomware n'a pas encore été confirmée au moment de la rédaction, mais reste une menace sérieuse compte tenu de la criticité de la faille et de l'étendue des systèmes exposés.
Impact et exposition
PHP propulse une part considérable des applications web mondiales, incluant WordPress (qui représente à lui seul plus de 40 % des sites web), Drupal, Joomla, Laravel, Symfony et d'innombrables applications métier développées sur mesure. Tous ces environnements sont potentiellement exposés si la version PHP sous-jacente n'est pas à jour.
Les conditions d'exploitation de CVE-2026-109619 sont particulièrement simples : aucun compte utilisateur, aucun plugin spécifique, aucune configuration particulière n'est nécessaire. Seule la version de PHP est déterminante. Les serveurs exécutant PHP en mode CGI ou FPM avec session.upload_progress.enabled activé (valeur par défaut) sont les plus directement vulnérables.
Les hébergeurs mutualisés sont aussi exposés que les serveurs dédiés, car la vulnérabilité est dans le cœur PHP lui-même et non dans les applications. Les environnements Docker et conteneurisés utilisant des images PHP officielles basées sur des versions non patchées sont également concernés. Les fournisseurs d'hébergement ont activement poussé les correctifs pour leurs partenaires d'après les informations disponibles, mais les instances auto-gérées restent une priorité de remédiation.
Recommandations immédiates
- Mettre à jour PHP vers la version 8.5.12, 8.4.27, 8.3.36 ou 8.2.35 selon la branche utilisée — advisory : PHP Security Releases du 21 octobre 2026 (sans lien externe)
- Mitigation temporaire avant patching : désactiver session.upload_progress.enabled en ajoutant session.upload_progress.enabled=0 dans php.ini ; sur PHP 8.5 également ajouter fatal_error_backtraces=0
- Mettre à jour les images Docker PHP officielles et reconstruire les conteneurs concernés
- Déployer ou mettre à jour les règles WAF pour détecter les tentatives d'exploitation — attention : les attaquants adaptent leurs payloads pour contourner les règles génériques
- Indicateurs de compromission : surveiller les nouveaux fichiers .php dans les répertoires web (webshells), les connexions sortantes inattendues depuis les processus PHP-FPM, et les pics de charge CPU liés à des processus PHP (cryptomining)
- PHP 8.1 et antérieures sont en fin de vie et ne recevront pas de correctif — migration vers une version supportée requise d'urgence
⚠️ Urgence
Exploitation active depuis le 17 octobre, avant même la divulgation publique. Attaques à grande échelle signalées depuis le 21 octobre. CERT-FR alerte CERTFR-2026-ALE-014 émise. Tout serveur PHP non patché doit être considéré comme cible active. Patcher immédiatement ou désactiver session.upload_progress en attente du patch.
Comment savoir si je suis vulnérable ?
Vérifiez votre version PHP avec la commande : php -v en ligne de commande, ou en créant un fichier phpinfo() temporaire. Si vous êtes en PHP 8.2.x avant 8.2.35, PHP 8.3.x avant 8.3.36, PHP 8.4.x avant 8.4.27, ou PHP 8.5.x avant 8.5.12, vous êtes vulnérable. PHP 8.1 et antérieures sont en fin de vie et ne recevront aucun correctif — il faut migrer. Pour vérifier si la mitigation est active : grep session.upload_progress.enabled /etc/php*/*/php.ini — la valeur doit être Off ou 0.
Votre infrastructure est-elle exposée ?
Ayi NEDJIMI réalise des audits ciblés pour identifier et corriger vos vulnérabilités.
Demander un auditÀ propos de l'auteur
Ayi NEDJIMI
Auditeur Senior Cybersécurité & Consultant IA
Expert Judiciaire — Cour d'Appel de Paris
Habilitation Confidentiel Défense
ayi@ayinedjimi-consultants.fr
Ayi NEDJIMI est un vétéran de la cybersécurité avec plus de 25 ans d'expérience sur des missions critiques. Ancien développeur Microsoft à Redmond sur le module GINA (Windows NT4) et co-auteur de la version française du guide de sécurité Windows NT4 pour la NSA.
À la tête d'Ayi NEDJIMI Consultants, il réalise des audits Lead Auditor ISO 42001 et ISO 27001, des pentests d'infrastructures critiques, du forensics et des missions de conformité NIS2 / AI Act.
Conférencier international (Europe & US), il a formé plus de 10 000 professionnels.
Domaines d'expertise
Ressources & Outils de l'auteur
Testez vos connaissances
Mini-quiz de certification lié à cet article — propulsé par CertifExpress
Articles connexes
CVE-2026-111497 Node2Shell : RCE Brotli CVSS 9.2 dans Node.js — patch d'urgence
CVE-2026-111497 (Node2Shell) : écriture hors limites CVSS 9.2 dans le décodeur Brotli de Node.js — RCE sans auth, PoC en cours. Patch Node.js 22.23.4/24.22.1/26.12.1 urgent.
CVE-2026-114625 : Arista VeloCloud zero-day SQL injection CVSS 9.9 exploité
CVE-2026-114625 : injection SQL CVSS 9.9 zero-day dans Arista VeloCloud Orchestrator, exploitation active confirmée. Patch immédiat requis pour les déploiements On-Prem.
CVE-2026-110264 : GitLab RCE CVSS 10 sans auth depuis 2014
CVE-2026-110264 : integer overflow dans le moteur regex de GitLab permettant un RCE sans authentification, CVSS 10.0. Affecte toutes les versions CE/EE depuis 7.0 (2014). Patch disponible depuis le 21 octobre 2026.
Un projet cybersécurité ? Parlons-en.
Pentest, conformité NIS 2, ISO 27001, audit IA, RSSI externalisé… nos experts répondent sous 24h pour évaluer votre besoin et vous proposer un accompagnement sur mesure.
Commentaires
Aucun commentaire pour le moment. Soyez le premier à commenter !
Laisser un commentaire