PHP2Shell : RCE non authentifiée via deux failles mémoire

Deux failles mémoire critiques de PHP permettent une exécution de code sans authentification. Des PoC publiques existent et des correctifs sont disponibles.

Éditeur
PHP
Produits
PHP
Vulnérabilités couvertes par ce bulletin
CVECVSS v4.0ExploitationCISA KEVVulnCheck KEV
CVE-2026-109618 9.2 Activement exploitée Non inscrite
CVE-2026-109619 9.2 Activement exploitée Non inscrite

Données mises à jour le

Le projet PHP a publié son avis de sécurité le 21 octobre 2026. Ces failles ont été baptisées « PHP2Shell ».

Ces vulnérabilités venant tout juste d’être publiées, NevaSec suit attentivement l’évolution de la situation et préviendra ses clients dès qu’une compromission sera confirmée.

Les vulnérabilités

CVE-2026-109618 concerne la gestion des erreurs d’épuisement de mémoire. Une interruption peut laisser des données internes partiellement initialisées, ensuite traitées comme valides pendant le nettoyage de la requête.

CVE-2026-109619 permet à un état global de subsister entre deux requêtes alors qu’il pointe vers une zone mémoire déjà libérée. Une requête ultérieure traitée par le même worker peut réutiliser cet état avant sa réinitialisation.

Des requêtes HTTP spécialement conçues peuvent ainsi provoquer une corruption mémoire, divulguer des données ou permettre l’exécution de code sans authentification avec les droits du processus web.

Statut d’exploitation

Des tentatives d’exploitation sont observées depuis le 17 octobre 2026, sans compromission réussie documentée au 24 octobre 2026.

Amazon a détecté une première tentative sur ses pots de miel le 17 octobre, quatre jours avant la publication de l’avis. Cloudflare rapporte des tentatives ciblant ses clients ainsi que des mutations de charges destinées à contourner ses protections. Lors de la publication de son alerte le 21 octobre, le CISA n’avait observé aucune exploitation réussie.

CVE-2026-109618 et CVE-2026-109619 figurent dans le catalogue VulnCheck KEV depuis le 21 octobre 2026. Elles ne figuraient pas dans le catalogue CISA KEV lors de la vérification du 24 octobre 2026.

À la publication de l’avis, la PHP Foundation indiquait qu’aucun exploit public fonctionnel n’avait été identifié parmi les PoC examinées. Des PoC publiques sont depuis disponibles, notamment sur Exploit-DB et GitHub. Ces PoC ne fonctionnent pas sur toutes les versions de PHP mais permettent de tester la vulnérabilité en laboratoire. D’autres PoC circulant depuis la fuite du 20 octobre se sont révélées non fonctionnelles, voire malveillantes, et ne doivent pas être exécutées sans vérification.

Correctifs disponibles

Mettre à jour vers PHP 8.2.35, 8.3.36, 8.4.27 ou 8.5.12 selon la branche utilisée, puis redémarrer PHP-FPM ou Apache. Le correctif ne s’applique qu’une fois les workers PHP relancés.

Pour PHP 8.1 et les versions antérieures, utiliser les paquets corrigés fournis par la distribution ou le prestataire LTS, ou migrer vers une branche encore prise en charge. Le projet PHP publie aussi des correctifs minimaux en source pour PHP 7.4, 8.0 et 8.1, destinés à ceux qui compilent PHP eux-mêmes ou n’ont pas accès à un prestataire LTS. Aucun correctif officiel n’existe pour PHP 7.3 et les versions antérieures.

Le 23 octobre, PHP a signalé une nouvelle vulnérabilité, CVE-2026-115560, qui touche aussi les versions corrigées. Elle ne concerne qu’une combinaison rare de configuration et de code applicatif, où l’application change le gestionnaire de sérialisation des sessions à l’exécution alors que l’option session.upload_progress reste activée. En attendant la prochaine version corrective, PHP recommande de définir session.upload_progress.enabled=0, y compris sur les serveurs déjà mis à jour. Ce paramètre ne remplace pas la mise à jour contre CVE-2026-109618 et CVE-2026-109619.

Périmètre concerné

Sont affectées les versions de PHP antérieures à 8.2.35, 8.3.36, 8.4.27 et 8.5.12 sur leurs branches respectives. PHP 8.1 et les versions antérieures, qui ne sont plus maintenues, sont également concernées.

Toutes les installations web PHP non corrigées doivent être traitées. L’exploitabilité effective dépend du SAPI, de la configuration et des chemins atteignables. Le périmètre comprend notamment PHP-FPM, Apache avec mod_php, php-cgi, FrankenPHP et LiteSpeed.

Sources

Historique des mises à jour

  • Ajout des PoC publiques, du statut VulnCheck KEV, de la chronologie d’exploitation et de l’avis CVE-2026-115560.

  • Publication du bulletin.

Un sujet à aborder avec nous ?

Retrouvez notre accompagnement en cybersécurité.

Sécurisation et conseil
Scroll