PHP2Shell : deux RCE critiques (CVSS 9.2), correctifs publiés
PHP a publié en urgence 8.5.12, 8.4.27, 8.3.36 et 8.2.35 pour CVE-2026-109618 et CVE-2026-109619, deux RCE notées 9.2. Le CERT-FR a émis l'alerte CERTFR-2026-ALE-014.
PHP a publié ce mardi 21 octobre 2026, en léger avance sur l'horaire annoncé (16 h, heure de Paris), une livraison de sécurité hors cycle corrigeant deux vulnérabilités critiques baptisées PHP2Shell. Le CERT-FR a émis l'alerte CERTFR-2026-ALE-014. Si vous exploitez PHP exposé sur Internet, l'action du jour n'est plus la préparation mais le patch.
Les failles
Deux CVE, notées chacune 9,2 sur CVSS v4.0, permettant l'exécution de code à distance (RCE) :
- CVE-2026-109618 (GHSA-w8hw-w9fx-j79w) : lors du nettoyage d'une requête, une requête interrompue faute de mémoire peut être traitée avec des données partiellement initialisées, ce qui corrompt la mémoire.
- CVE-2026-109619 (GHSA-6wmf-4rv5-p3rp) : un état interne persiste après une requête ; la mémoire est libérée mais reste référencée, et la requête suivante du même processus peut la réutiliser.
Selon le relais du CERT-EU cité par ZATAZ, l'exploitation serait possible sans authentification préalable.
Versions corrigées
PHP a livré, d'après l'archive officielle php.net :
8.5.12 8.4.27 8.3.36 8.2.35
Les branches hors maintenance 7.4, 8.0 et 8.1 ont reçu des correctifs sous forme de sources, à compiler soi-même. Le CERT-FR rappelle que les branches 5.x, 6.x et 7.x sont potentiellement concernées et recommande la migration vers une version supportée.
Sont exposées les installations PHP-FPM, Apache avec mod_php, php-cgi, FrankenPHP et LiteSpeed. Le risque est jugé maximal pour mod_php.
État d'exploitation
Aucune démonstration publique d'exploitation ni campagne d'attaque n'est confirmée à ce stade. Mais une fois le correctif publié, le différentiel devient analysable : pour une RCE côté serveur, la fenêtre entre publication et exploit fonctionnel se compte en heures.
Que faire
- Inventorier tous les serveurs PHP exposés (y compris conteneurs et applications secondaires), avec la branche et la version exactes.
- Appliquer immédiatement 8.5.12 / 8.4.27 / 8.3.36 / 8.2.35 selon votre branche, en priorité sur les hôtes exposés — et compiler les sources pour 7.4 / 8.0 / 8.1 ou migrer.
- En attendant le patch, mesure provisoire du CERT-FR (non qualifiée par ses soins, et ne couvrant qu'une des deux failles) :
session.upload_progress.enabled = Offdansphp.ini(php_admin_flag[session.upload_progress.enabled] = offpour PHP-FPM). - Au niveau d'un WAF, bloquer ou superviser les requêtes dont l'en-tête
Content-Typevautmultipart. - Après correction, rechercher d'éventuelles traces d'intrusion antérieures dans les journaux applicatifs.
Contexte
Une livraison coordonnée et pré-annoncée sur toutes les branches supportées reste rare ; c'est le signal, davantage que les numéros qui circulaient avant l'heure. Pour mémoire, PHP avait déjà corrigé en juillet une corruption de tas dans openssl_encrypt (CERTFR-2026-AVI-0843) — mais une RCE pré-authentification notée 9,2 sur l'ensemble des branches place celle-ci à un tout autre niveau d'urgence.