PHP2Shell — Des failles critiques de PHP permettent de prendre le contrôle de serveurs web (2026)
Deux failles critiques de PHP baptisées PHP2Shell (CVE-2026-109618, CVE-2026-109619) permettent d'exécuter du code sur des serveurs web sans authentification. Les correctifs sont sortis le 21 octobre 2026 — les attaques avaient commencé quelques jours plus tôt.
De quelle menace s'agit-il ?
Le 21 octobre 2026, le projet PHP a publié des mises à jour de sécurité d'urgence pour deux vulnérabilités critiques au cœur même du langage PHP, surnommées PHP2Shell :
Les deux sont notées 9,2 sur 10 (critiques). Ensemble, elles permettent une exécution de code à distance sans authentification : un attaquant capable d'envoyer une requête web à un serveur vulnérable peut potentiellement y exécuter ses propres commandes — sans mot de passe, sans compte, et indépendamment du code du site lui-même.
PHP fait tourner une grande partie du web, notamment WordPress, Drupal, Joomla, Magento, les applications Laravel ainsi qu'innombrables boutiques en ligne et portails clients. Palo Alto Networks a recensé plus de 22 millions d'instances PHP accessibles depuis Internet et potentiellement exposées.
Chronologie
| Date | Événement |
|---|---|
| 17 octobre 2026 | Les pots de miel d'Amazon enregistrent une première tentative d'exploitation — quatre jours avant la divulgation publique |
| 21 octobre 2026 | PHP publie son avis de sécurité et les versions 8.5.12, 8.4.27, 8.3.36 et 8.2.35 |
| 21 octobre 2026 | Des scans massifs d'Internet démarrent en moins d'une heure ; au moins un gouvernement européen met son site hors ligne par précaution |
| 22 octobre 2026 | Cloudflare signale des tentatives d'attaque se comptant en millions |
| 23 octobre 2026 | PHP signale un problème apparenté, moins risqué (CVE-2026-115560), touchant des configurations de session inhabituelles ; le correctif arrivera dans la prochaine version régulière |
Qui est concerné ?
Toute installation PHP qui répond à des requêtes web est concernée — qu'elle fonctionne en mod_php sous Apache (la configuration la plus risquée), en PHP-FPM, php-cgi, LiteSpeed ou FrankenPHP, y compris les conteneurs Docker embarquant leur propre PHP.
| Version de PHP | Statut |
|---|---|
| 8.5 avant 8.5.12 | Vulnérable — mettre à jour vers 8.5.12 |
| 8.4 avant 8.4.27 | Vulnérable — mettre à jour vers 8.4.27 |
| 8.3 avant 8.3.36 | Vulnérable — mettre à jour vers 8.3.36 |
| 8.2 avant 8.2.35 | Vulnérable — mettre à jour vers 8.2.35 |
| 7.4, 8.0, 8.1 (fin de support) | Vulnérables — pas de version officielle ; seulement des paquets de distribution ou des rétroportages du code source |
| 7.3 et antérieures | Vulnérables — aucun correctif ; mise à niveau obligatoire |
Les distributions Linux ont reçu les correctifs en avance : les paquets mis à jour sont disponibles via les mises à jour système habituelles. Certains éditeurs rétroportent les correctifs sans changer le numéro de version — consultez l'avis de sécurité de votre distribution.
Comment les attaquants l'exploitent
Les chercheurs soulignent qu'un exploit fiable est plus difficile à concevoir que prévu et que beaucoup de tentatives échouent — mais avec des millions d'essais par jour, les serveurs non corrigés finiront par être touchés.
Pourquoi c'est important — même sans serveur
Si vous avez un blog personnel, un site de petite entreprise ou une boutique en ligne sur un hébergement mutualisé, il fonctionne presque certainement avec PHP. Les sites piratés servent à :
En tant que visiteur, vous ne pouvez pas corriger le serveur d'autrui — mais vous pouvez repérer les signes qu'un site familier a été modifié.
Liste des signaux d'alerte
Pour les propriétaires de sites :
sh, bash) ou des programmes inconnusPour les visiteurs :
Comment vous protéger
- Mettez immédiatement PHP à jour vers 8.5.12, 8.4.27, 8.3.36 ou 8.2.35 (ou le paquet corrigé de votre distribution), puis redémarrez tous les workers PHP et le serveur web
- Sur un hébergement mutualisé ou un WordPress infogéré, demandez à votre hébergeur de confirmer par écrit l'installation des correctifs PHP2Shell
- Si vous utilisez PHP 8.1 ou plus ancien, planifiez dès maintenant une migration vers une version supportée — 7.3 et antérieures ne recevront jamais de correctif
- En attendant le correctif, restreignez l'accès public au site et définissez temporairement session.upload_progress.enabled=0 — cela réduit le risque sans l'éliminer
- Placez le site derrière un pare-feu applicatif web (WAF) qui inspecte entièrement les requêtes volumineuses ; les grands fournisseurs ont publié des règles anti-PHP2Shell
- Recensez tous les serveurs, images de conteneurs et outils internes qui utilisent PHP, en commençant par les systèmes exposés à Internet
- En tant que visiteur, gardez votre navigateur à jour et n'installez jamais de « mise à jour » ou d'« outil de sécurité » proposé par une fenêtre surgissante
Que faire si vous êtes touché
- 1.En cas de suspicion de compromission, mettez le site hors ligne ou bloquez l'accès public avant d'enquêter
- 2.Corrigez d'abord PHP, puis recherchez des web shells, des fichiers PHP inconnus, de nouveaux comptes administrateurs et des tâches planifiées (cron) suspectes
- 3.Vérifiez si des processus du serveur web ou de PHP ont lancé des shells ou des programmes inconnus, et examinez les connexions sortantes du serveur
- 4.Restaurez une sauvegarde saine antérieure au 17 octobre 2026 si vous ne pouvez pas confirmer que le serveur est propre
- 5.Changez tous les mots de passe et clés stockés sur le serveur : identifiants de base de données, clés API, comptes administrateurs du CMS et accès à l'hébergement
- 6.Si des données clients ont pu être consultées, respectez vos obligations de notification de violation de données (par exemple le délai de 72 heures du RGPD)
- 7.Signalez l'incident à votre CERT national (par exemple CERT-FR / ANSSI en France, CCB en Belgique, NCSC en Suisse)