# PHP2Shell : deux failles critiques dans PHP, risques et correctifs

> PHP2Shell : comprendre les failles CVE-2026-109618 et CVE-2026-109619, les versions PHP vulnérables et les mesures urgentes pour sécuriser ses sites et applications.

Web & cybersécurité

## PHP2Shell : deux failles critiques dans PHP, risques et correctifs

Deux failles critiques touchent le moteur PHP lui-même. Voici leurs mécanismes, les versions vulnérables, les systèmes exposés et les étapes à suivre pour corriger et vérifier vos applications.

![PHP2Shell-Runtime-Under-Attack.webp](https://sdx-development.com/media/News/PHP2Shell-Runtime-Under-Attack.webp?v=1792605446)

[Web & cybersécurité](https://sdx-development.com/actualites/web-cybersecurite)Publié le 21 octobre 2026 à 19:43

Le 21 octobre 2026, l’équipe de sécurité PHP a publié quatre versions correctives pour deux vulnérabilités critiques du moteur : **CVE-2026-109618** et **CVE-2026-109619**, également désignées sous le nom de **PHP2Shell**. Elles peuvent, dans certaines configurations, permettre à un attaquant non authentifié d’exécuter du code sur un serveur web.

 

Le problème dépasse un CMS, un framework ou un hébergeur : c’est le **moteur PHP côté serveur** qui est concerné. Qu’il exécute WordPress, Drupal, PrestaShop, Laravel, Symfony ou une application développée sur mesure, un site utilisant une version vulnérable doit être évalué et corrigé. Le niveau d’exposition réel dépend ensuite de la configuration, des processus PHP et des accès réseau.

 

L’essentiel 

## Deux failles critiques, un correctif prioritaire

 

**9,2/10 (CVSS v4.0)** pour chacune des failles. Les versions PHP corrigées publiées le 21 octobre 2026 sont **8.2.35, 8.3.36, 8.4.27 et 8.5.12**. Il n’existe pas de contournement complet : seule l’application d’un correctif adapté traite l’ensemble des chemins d’exploitation connus.

 

**Dans cet article** 

[L’alerte](https://sdx-development.com/actualites/web-cybersecurite/php2shell-deux-failles-critiques-php-risques-correctifs#alerte-php) [Les deux failles](https://sdx-development.com/actualites/web-cybersecurite/php2shell-deux-failles-critiques-php-risques-correctifs#mecanismes-php) [Qui est concerné ?](https://sdx-development.com/actualites/web-cybersecurite/php2shell-deux-failles-critiques-php-risques-correctifs#applications-exposees) [Versions corrigées](https://sdx-development.com/actualites/web-cybersecurite/php2shell-deux-failles-critiques-php-risques-correctifs#versions-php) [Vérifier son exposition](https://sdx-development.com/actualites/web-cybersecurite/php2shell-deux-failles-critiques-php-risques-correctifs#audit-php) [Plan de correction](https://sdx-development.com/actualites/web-cybersecurite/php2shell-deux-failles-critiques-php-risques-correctifs#plan-correction) [Mesures temporaires](https://sdx-development.com/actualites/web-cybersecurite/php2shell-deux-failles-critiques-php-risques-correctifs#mesures-temporaires) [Questions fréquentes](https://sdx-development.com/actualites/web-cybersecurite/php2shell-deux-failles-critiques-php-risques-correctifs#faq-php) [Sources](https://sdx-development.com/actualites/web-cybersecurite/php2shell-deux-failles-critiques-php-risques-correctifs#sources-php)

 

## Pourquoi cette alerte PHP est-elle exceptionnelle ?

 

Le 20 octobre, l’équipe PHP annonçait une publication de sécurité urgente. Le 21 octobre, elle a livré les correctifs et rendu publics les détails techniques. Le CERT-FR et le CERT-EU recommandent une remédiation immédiate, voire l’isolement des services exposés à Internet lorsqu’aucun correctif ne peut être appliqué rapidement.

 

Les deux vulnérabilités appartiennent à la catégorie **RCE** (*Remote Code Execution*, ou exécution de code à distance). À la différence d’une erreur affectant une extension WordPress particulière ou une page d’application, elles se situent à l’intérieur du runtime PHP : celui-ci intervient dans le traitement des requêtes HTTP, des formulaires, de la mémoire et de l’état des processus.

 

**« Sans authentification » ne signifie pas « compromis automatiquement ».** L’attaque n’exige pas nécessairement de compte utilisateur, mais sa faisabilité varie selon le mode d’exécution et la configuration. La gravité réside dans le potentiel d’accès au système avant que les contrôles habituels de l’application aient pu jouer leur rôle.

 

## Comprendre les deux vulnérabilités

 

Les défauts ont un point commun : des données internes sont utilisées alors que leur état mémoire n’est plus fiable. Ils exploitent toutefois **deux mécanismes distincts**.

 

CVE-2026-109618 · corruption mémoire 

### Une interruption pendant une allocation de mémoire

 

Lorsqu’une limite de mémoire est atteinte (*out-of-memory* ou OOM), PHP utilisait une sortie abrupte reposant sur ` longjmp() `. Si l’interruption survient pendant l’initialisation de structures liées à une requête, leur nettoyage peut ensuite interpréter des données incomplètes comme si elles étaient valides. Cette corruption peut ouvrir la voie à une exécution de code.

 

CVE-2026-109619 · use-after-free 

### Un état interne survit à une requête précédente

 

Certains états globaux (erreurs, sessions, extensions ou objets) peuvent conserver une référence à une zone mémoire déjà libérée. Si le même processus PHP traite ensuite une autre requête avant de réinitialiser cet état, il peut réutiliser cette référence périmée. C’est un défaut de type *use-after-free*.

 

### Pourquoi les formulaires et les requêtes HTTP comptent

 

Dans la première faille, le traitement de certaines requêtes multipart, comme celles utilisées pour les formulaires et les fichiers envoyés au serveur, peut provoquer une pression mémoire inattendue. Dans la seconde, une erreur fatale ou certains diagnostics peuvent laisser subsister un état qui sera consommé lors d’une requête ultérieure. Les avis techniques de PHP détaillent ces familles de scénarios, sans qu’un formulaire vulnérable dans le code métier soit nécessaire dans tous les cas.

 

Pour **Apache avec ` mod_php `**, l’équipe PHP considère le risque particulièrement élevé : une démonstration montre qu’une requête non authentifiée peut atteindre le chemin vulnérable avant toute exécution du code applicatif. **PHP-FPM n’est pas pour autant hors de danger** : le traitement des erreurs et les chemins d’exploitation ne sont pas identiques, mais PHP le classe également parmi les environnements concernés.

 

Une exploitation réussie peut permettre d’agir avec les privilèges du processus PHP : lire des fichiers accessibles au service, récupérer des secrets applicatifs, compromettre une base de données si ses identifiants sont disponibles, modifier du contenu ou perturber le service. L’étendue des conséquences dépend des permissions, de l’isolation et de l’architecture du serveur.

 

## Quels sites, applications et environnements sont concernés ?

 

Le périmètre ne se limite pas aux sites qui affichent visiblement « PHP ». Une application peut utiliser PHP derrière un proxy, un CDN, un conteneur ou une plateforme managée. Le CERT-EU cite les principales interfaces web exécutant PHP : ` mod_php `, PHP-FPM, ` php-cgi `, FrankenPHP et LiteSpeed.

 

| Environnement | Point à vérifier |
| --- | --- |
| WordPress, Drupal, PrestaShop, Magento | Le runtime PHP réel du serveur, indépendamment de la version du CMS |
| Symfony, Laravel, application PHP personnalisée | Le runtime des instances web, API, workers et déploiements concernés |
| Apache + mod\_php | Mise à jour prioritaire : chemin critique pouvant survenir avant le code applicatif |
| Nginx + PHP-FPM, php-cgi, LiteSpeed, FrankenPHP | Version du runtime réellement chargé par les processus de service |
| Docker, Kubernetes, images CI/CD | Image de base, conteneurs effectivement redéployés et réplicas encore actifs |
| Hébergement mutualisé ou plateforme gérée | Version corrigée ou correctif rétroporté confirmé par l’opérateur |

 

**Important :** corriger WordPress, une extension ou une dépendance Composer ne corrige pas le moteur PHP. Inversement, un site au code applicatif correctement écrit peut rester exposé si son interpréteur n’a pas reçu le correctif.

 

## Versions vulnérables et versions corrigées

 

Le CERT-FR considère les branches anciennes ainsi que toutes les versions antérieures aux correctifs suivants comme affectées :

 

| Branche | Versions à corriger | Version corrective PHP |
| --- | --- | --- |
| PHP 8.5 | 8.5.0 à 8.5.11 | 8.5.12 |
| PHP 8.4 | 8.4.0 à 8.4.26 | 8.4.27 |
| PHP 8.3 | 8.3.0 à 8.3.35 | 8.3.36 |
| PHP 8.2 | 8.2.0 à 8.2.34 | 8.2.35 |
| PHP 8.1 et antérieures | Branches hors support officiel | Migration ou correctif rétroporté du fournisseur à vérifier |

 

Le projet PHP n’émet plus de versions officielles pour PHP 8.1 et les branches antérieures. Certains fournisseurs Linux et prestataires de support longue durée proposent néanmoins des **correctifs rétroportés**, sans changement de version majeure ou mineure. Un numéro ancien ne prouve donc pas à lui seul l’absence du correctif : il faut consulter les bulletins de la distribution et l’état du paquet installé.

 

PHP a aussi fourni des rétroportages minimaux de code source pour les branches 7.4, 8.0 et 8.1 ; cela ne signifie pas qu’elles retrouvent un support standard. **PHP 8.2 atteint sa fin de vie le 31 décembre 2026** : sa correction immédiate doit idéalement s’accompagner d’un plan de migration.

 

## Comment savoir si son site utilise une version vulnérable ?

 

La difficulté fréquente est de vérifier le bon PHP. Sur une même machine, la version lancée en terminal peut être différente de celle utilisée par Apache, PHP-FPM, un conteneur ou un sous-domaine. La vérification doit donc cibler **le service web réellement en production**.

 

Première vérification 

### Inventaire et version

 

Recenser les domaines, API, pools PHP-FPM, versions de paquets, images conteneurisées et tâches d’arrière-plan. Contrôler les versions effectives via l’administration de la plateforme, les commandes système ou un contrôle temporaire protégé côté application.

 

Deuxième vérification 

### État réel du correctif

 

Comparer l’information à l’avis PHP ou au bulletin du fournisseur. Après correction, vérifier que les services ont redémarré ou que les nouveaux conteneurs ont été déployés. Confirmer qu’aucun ancien worker ne reçoit encore de trafic.

 

Quelques commandes de diagnostic, à adapter au système :

 

```
php -v
php --ini
```

 

` php -v ` et ` php --ini ` décrivent l’environnement CLI, **pas nécessairement celui qui traite les requêtes HTTP**. Pour PHP-FPM, vérifier le binaire du pool concerné, ses fichiers de configuration et le service réellement lancé. Pour Docker ou Kubernetes, contrôler à la fois l’image reconstruite et les conteneurs ou pods actifs. Ne laissez jamais une page ` phpinfo() ` accessible publiquement pour effectuer ce contrôle.

 

## Plan de correction : huit actions à engager

 
1. **Cartographier.** Lister les applications PHP exposées et identifier leurs versions, modes d’exécution et propriétaires.
2. **Prioriser.** Traiter en premier les services accessibles depuis Internet, en particulier les instances Apache ` mod_php ` et les applications contenant des données sensibles.
3. **Sauvegarder.** Préserver configurations, données et images de déploiement, et préparer un plan de retour arrière sans revenir durablement à une version vulnérable.
4. **Corriger.** Installer une version PHP sécurisée ou les paquets rétroportés explicitement validés par votre fournisseur.
5. **Redémarrer ou redéployer.** Renouveler tous les processus concernés : workers Apache ou FPM, conteneurs, pods et autres instances.
6. **Vérifier la correction effective.** Contrôler la version ou la référence de paquet qui sert réellement les requêtes, sur toutes les instances.
7. **Tester les parcours essentiels.** Vérifier authentification, formulaires, uploads, APIs, paiements éventuels, tâches planifiées et journaux d’erreurs.
8. **Surveiller et documenter.** Suivre les anomalies, conserver les preuves de correction et investiguer les signes de compromission antérieurs à la mise à jour.

 

En présence d’indices sérieux de compromission, une mise à jour n’efface pas nécessairement un accès malveillant déjà obtenu. Il faut alors isoler le système touché, préserver les journaux, examiner les fichiers et secrets exposés et appliquer une procédure de réponse à incident adaptée.

 

## Que faire si une mise à jour immédiate est impossible ?

 

PHP insiste sur ce point : **aucune mesure de contournement n’apporte une protection complète**. Le CERT-EU recommande d’envisager l’isolement temporaire des services publics dont la correction ne peut pas être appliquée et vérifiée.

 

Précaution 

## Un pare-feu applicatif ne remplace pas un runtime corrigé

 

Des règles WAF, la limitation des requêtes multipart ou la désactivation de certaines fonctionnalités peuvent diminuer l’exposition à des scénarios documentés, mais elles ne suppriment pas les deux vulnérabilités. Certaines protections peuvent aussi bloquer les formulaires ou les téléchargements de fichiers légitimes : évaluez leurs conséquences avant déploiement.

 

À titre d’exemple, le CERT-FR mentionne la désactivation de la progression des téléversements de session via ` session.upload_progress.enabled=Off ` et, selon les cas, un filtrage du trafic multipart. Le projet PHP cite également des ajustements liés à ` memory_limit ` pour limiter certains chemins de la première faille. Ces adaptations sont partielles et parfois délicates à exploiter de manière sûre : elles doivent être décidées par l’administrateur responsable, contrôlées sur l’ensemble des processus et supprimées ou réévaluées après installation des correctifs.

 

Évitez de conclure à l’absence de risque simplement parce qu’un WAF est actif, qu’un scanner externe ne détecte rien ou que les erreurs PHP ne sont pas affichées dans le navigateur. Aucun de ces constats ne prouve que la mémoire du runtime est corrigée.

 

## Questions fréquentes pour les propriétaires de sites

 

### Mon site WordPress est à jour : suis-je protégé ?

 

Pas nécessairement. WordPress et ses extensions sont des composants distincts du moteur PHP. Il faut mettre à jour chacun de ces niveaux et vérifier en particulier la version de PHP réellement utilisée par le site.

 

### Mon site utilise Nginx et PHP-FPM : suis-je moins exposé ?

 

Le chemin d’exploitation démontré avec ` mod_php ` est particulièrement préoccupant, mais PHP inclut aussi PHP-FPM parmi les environnements à corriger. Le niveau de risque est différent d’une architecture à l’autre ; il ne faut pas assimiler « moins directement démontré » à « non vulnérable ».

 

### Je suis en hébergement mutualisé : qui agit ?

 

L’opérateur gère souvent le moteur PHP, mais les responsabilités dépendent du contrat et de l’offre. Demandez la confirmation du correctif, consultez les notifications de maintenance et effectuez les vérifications fonctionnelles de votre site.

 

### Mon application est dans Docker : une mise à jour du serveur suffit-elle ?

 

Non si PHP est embarqué dans les images applicatives. Il faut reconstruire les images à partir d’une base corrigée, redéployer tous les réplicas et vérifier qu’aucune ancienne instance ne reste en production.

 

### Existe-t-il déjà des attaques ?

 

Le CERT-EU indique le 21 octobre que des démonstrations de faisabilité circulent publiquement, ce qui accroît la probabilité d’attaques. Ce constat ne permet pas d’affirmer qu’un site donné a été compromis. Pour les services exposés, la priorité reste la correction rapide et la surveillance des journaux.

 

### Une simple commande de mise à jour suffit-elle ?

 

Elle constitue une étape, pas une preuve finale. Il faut vérifier la bonne source de paquets, la mise à jour de toutes les instances, le redémarrage effectif des processus et le fonctionnement de l’application après déploiement.

 

## Ce que cette alerte change pour la sécurité des applications web

 

PHP2Shell rappelle une réalité souvent négligée : la sécurité d’un site ne dépend pas uniquement de la qualité du code métier, des extensions installées ou du framework. Elle dépend aussi du moteur qui exécute ce code, de la gestion de sa mémoire et de la discipline de mise à jour des environnements de production.

 

La bonne stratégie est donc concrète : **inventorier, corriger, redéployer, vérifier et surveiller**. Les organisations qui ne peuvent pas appliquer rapidement les correctifs doivent arbitrer explicitement le maintien de leurs services exposés à Internet.

 

## Sources et documentation de référence

 

*Article fondé sur les bulletins publics du 21 octobre 2026. Les consignes de remédiation peuvent être complétées par les mainteneurs et les fournisseurs des distributions.*

 

Consulter les avis officiels 5 références

 

- [PHP — avis de sécurité du 21 octobre 2026 et versions corrigées](https://www.php.net/index.php#2026-10-21-1).
- [PHP / GitHub — CVE-2026-109618, corruption lors d’un dépassement de mémoire](https://github.com/php/php-src/security/advisories/GHSA-w8hw-w9fx-j79w).
- [PHP / GitHub — CVE-2026-109619, état global périmé](https://github.com/php/php-src/security/advisories/GHSA-6wmf-4rv5-p3rp).
- [CERT-FR — alerte et mesures de réduction d’exposition](https://cert.cyber.gouv.fr/alerte/CERTFR-2026-ALE-014).
- [CERT-EU — Security Advisory 2026-018](https://cert.europa.eu/publications/security-advisories/2026-018/).

WEB & CYBERSÉCURITÉ

## Un socle web fiable se prépare avant l’incident.

Audit du code, dépendances, parcours sensibles et stratégie de mise à jour : transformez une alerte technique en plan d’action maîtrisé.

- Priorités et risques clairement identifiés
- Correctifs testés avec possibilité de retour arrière
- Maintenance organisée dans la durée

[Faire auditer votre projet](https://sdx-development.com/contact)[Voir les expertises](https://sdx-development.com/expertises)

---

[Consulter la page HTML](https://sdx-development.com/actualites/web-cybersecurite/php2shell-deux-failles-critiques-php-risques-correctifs)
