Une alerte de sécurité d’une gravité inédite vient d’être déclenchée sur l’ensemble du réseau mondial. Deux vulnérabilités critiques (surnommées « PHP2Shell » et enregistrées sous les identifiants CVE-2026-109618 et CVE-2026-109619) ont été découvertes directement au cœur du langage PHP. Avec un score de dangerosité quasi maximal (CVSS 9,2), ces failles permettent à un pirate d’exécuter du code à distance sur votre serveur sans même avoir besoin d’un identifiant ou d’un mot de passe.
Si vous gérez un site web, que ce soit sur WordPress ou n’importe quel autre CMS ou framework, l’heure est au niveau d’alerte maximal.
1. Ce n’est pas un problème de plugin : TOUT l’écosystème web est menacé !
On a souvent l’habitude d’attribuer les pirates et les failles de sécurité à une mauvaise extension WordPress ou un thème obsolète. Cette fois, le danger est à un autre niveau : il touche l’interpréteur PHP lui-même.

Concrètement, peu importe la propreté de votre code ou le CMS que vous utilisez, dès lors que votre serveur fonctionne sur PHP, l’attaque peut réussir :
- Les CMS populaires : WordPress, Drupal, Joomla, ProcessWire, TYPO3.
- Les frameworks modernes : Laravel, Symfony, CodeIgniter, CakePHP, Yii.
- Le E-commerce : WooCommerce, Magento (Adobe Commerce), PrestaShop, OpenCart.
- Les outils SaaS et applications sur mesure : Nextcloud, Moodle, Snipe-IT et n’importe quelle application codée à la main en PHP.
⚠️ Le piège fatal : Penser que votre site est à l’abri parce que vos plugins WordPress ou votre projet Laravel sont à jour est une grave erreur. Si le moteur PHP sous-jacent du serveur n’est pas patché, la porte reste grande ouverte.
2. Comprendre les failles « PHP2Shell » (CVE-2026-109618 & CVE-2026-109619)
Pour comprendre la technique, les chercheurs en sécurité ont identifié deux brèches majeures dans la gestion de la mémoire par le serveur :
- CVE-2026-109618 (Corruption Mémoire sur Erreur OOM) : Lorsqu’un script manque de mémoire (Out Of Memory), PHP s’arrête brutalement. Lors de la réception de requêtes lourdes (comme le téléversement de fichiers), des variables internes ne sont pas nettoyées. Un attaquant peut manipuler cet arrêt pour forcer le serveur à réutiliser cette mémoire corrompue et injecter du code malveillant.
- CVE-2026-109619 (État Résiduel / Stale State) : Les serveurs modernes (comme PHP-FPM, Apache ou FrankenPHP) gardent des processus workers ouverts pour traiter plusieurs requêtes. Si une requête précédente se termine par une erreur fatale, l’état interne de PHP conserve des pointeurs obsolètes. La requête suivante envoyée par le pirate utilise ces pointeurs fantômes pour prendre le contrôle total du serveur.
Le résultat ? Prise de contrôle de votre infrastructure, vol de bases de données et injection de ransomwares.
3. Quelle est l’ampleur de la menace sur vos serveurs ?
Des robots automatisés (scanners d’attaque) parcourent actuellement le Web pour cibler les serveurs non mis à jour. Que vous soyez sur un hébergement mutualisé, un serveur dédié, un VPS (DigitalOcean, OVH) ou des services managés comme Laravel Forge, Vapor, cPanel ou Plesk, le risque est identique.
Toutes les configurations d’exécution courantes sont concernées : PHP-FPM, Apache mod_php, php-cgi, LiteSpeed et FrankenPHP.
4. Le guide de secours d’urgence : Comment sécuriser vos projets immédiatement ?
Pour colmater cette faille avant qu’il ne soit trop tard, voici la procédure à exécuter immédiatement :
Étape 1 : Vérifiez la version PHP installée
Connectez-vous à votre serveur ou ouvrez votre terminal et tapez :
Bash
php -v
(Sur WordPress : allez dans Outils > Santé du site > Informations > Serveur).
Étape 2 : Appliquez les versions correctives
Le projet PHP a publié en urgence des correctifs officiels. Vous devez impérativement passer à l’une de ces versions (ou supérieure) :
- PHP 8.5.12
- PHP 8.4.27
- PHP 8.3.36
- PHP 8.2.35
🔴 Vous êtes toujours sous PHP 7.4, 8.0 ou 8.1 ? Ces versions sont obsolètes et ne reçoivent plus de mises à jour officielles. Si vous ne pouvez pas migrer immédiatement vers PHP 8.2+, vérifiez si votre hébergeur ou votre distribution Linux (Debian, Ubuntu) propose un correctif rétro-appliqué (backport).
Étape 3 : Redémarrez impérativement vos services
Mettre à jour le paquet ne suffit pas ! Les processus workers déjà chargés en mémoire continuent de tourner avec la faille.
- Pensez à exécuter un redémarrage de vos services (ex:
sudo systemctl restart php8.3-fpmou le service Apache/Nginx).
Conclusion
L’épisode PHP2Shell démontre à quel point la sécurité web dépend des couches basses de nos infrastructures. Que vous soyez développeur WordPress, artisan Laravel ou expert Symfony, ne remettez pas cette tâche à plus tard : mettez vos serveurs à jour dès maintenant !






