Comment patcher PHP contre les deux RCE CVE-2026-109618 et CVE-2026-109619?

Montrer le sommaire Cacher le sommaire

Deux failles critiques ont surgit dans PHP et permettent à des attaquants non authentifiés d’exécuter du code à distance sur des serveurs web vulnérables. Ces vulnérabilités, connues sous les références CVE-2026-109618 et CVE-2026-109619, sont particulièrement dangereuses et l’on observe déjà des tentatives d’exploitation en production. La priorité immédiate pour les administrateurs est de vérifier et mettre à jour PHP sur chaque instance exposée.

Comment ces failles fonctionnent et pourquoi elles sont dangereuses

Les deux problèmes résident dans la manière dont PHP gère les données internes d’une requête HTTP, avant que votre application n’ait la main. Dans un cas, une condition d’absence de mémoire peut laisser PHP avec des structures partiellement initialisées. Le mécanisme de nettoyage peut alors interpréter ces données incomplètes comme valides et corrompre la mémoire, ouvrant la voie à une exécution de code arbitraire. Dans l’autre cas, un état interne obsolète peut persister entre deux requêtes traitées par le même worker, exposant des données anciennes ou permettant une écriture dans une zone mémoire qui ne devrait plus être accessible.

Schéma abstrait montrant mémoire et structures internes d'un serveur web
Illustration simplifiée des structures mémoire internes manipulées par PHP.

Ces comportements affectent tous les modes habituels d’exécution PHP utilisés pour servir le web, y compris PHP-FPM, Apache avec mod_php, php-cgi, FrankenPHP et LiteSpeed. De façon empirique, mod_php est souvent le plus à risque car une requête malveillante peut atteindre l’exécutable vulnérable avant que le code applicatif ne filtre quoi que ce soit.

Quelles versions de PHP corrigent ces vulnérabilités

Les mainteneurs de PHP ont publié des correctifs. Si vous gérez vos propres serveurs, installez la version corrigée correspondant à votre branche sans délai.

Branche PHP Version corrigée
8.5 8.5.12
8.4 8.4.27
8.3 8.3.36
8.2 8.2.35

Pour PHP 8.1 et antérieurs, des backports d’urgence ont été publiés pour certaines versions LTS comme 8.1, 8.0 et 7.4. Ces backports peuvent être fournis par la distribution Linux ou le fournisseur d’hébergement. Vérifiez toujours que le paquet installé mentionne explicitement la correction des deux CVE.

Comment vérifier rapidement si votre site tourne sur une version vulnérable

Ne vous fiez pas uniquement à la sortie en ligne de commande avec php -v. Le PHP utilisé par le serveur web peut différer. Pour valider la version réellement servie, créez temporairement une page PHP contenant phpinfo() et accédez-y depuis votre navigateur. Supprimez cette page immédiatement après vérification.

Commandes utiles

Exemples pratiques que vous pouvez exécuter si vous avez accès au serveur

  • Vérifier le binaire du serveur web pour PHP-FPM ps aux | grep php-fpm
  • Tester la version via HTTP curl -I http://votre-site/phpinfo.php (supprimez la page après usage)
  • Contrôler les paquets installés apt list –installed | grep php ou rpm -qa | grep php

Que faire immédiatement si vous gérez un VPS ou un serveur dédié

Mettez à jour PHP selon votre procédure standard et redémarrez tous les workers. Ensuite, testez les parcours critiques du site comme les formulaires de contact, les pages d’administration, les uploads et les fonctions API. Quelques étapes pratiques à suivre

Administrateur lançant une mise à jour sur un serveur depuis un terminal
Appliquer les mises à jour et redémarrer les services est la première mesure à prendre.

  • Appliquer la mise à jour depuis le gestionnaire de paquets ou compiler un build officiel si nécessaire
  • Redémarrer PHP-FPM, Apache ou le service web concerné afin que les nouveaux processus prennent la bonne version
  • Vérifier que le site répond bien et inspecter les logs d’erreurs pour anomalies

Attention fréquente observée en production: certains opérateurs mettent à jour le CLI mais oublient de remplacer l’instance liée à Apache ou au pool FPM. Vérifiez la version exposée depuis le navigateur.

Que faire si vous êtes sur hébergement partagé ou managed hosting

Contactez le support et demandez explicitement si un build corrigé a été déployé et s’il couvre CVE-2026-109618 et CVE-2026-109619. Sur beaucoup de panels d’hébergement, un sélecteur de version PHP permet de choisir la branche corrigée. Si elle n’est pas disponible, exigez une réponse sur le calendrier de déploiement ou sur l’existence d’un backport fournisseur.

Ne considérez pas une réponse vague comme suffisante. Demandez le numéro de version exact et, si possible, la date de déploiement.

Un WAF suffit-il pour rester en sécurité

Un pare-feu applicatif web (WAF) peut apporter une couche de protection immédiate en bloquant des signatures d’exploit connues. Plusieurs fournisseurs ont déjà enrichi leurs règles pour filtrer les chemins d’exploitation observés. En pratique, un WAF réduit le risque mais n’élimine pas la vulnérabilité fondamentale.

Deux limites concrètes à garder en tête

  • Le WAF ne protège que si tout le trafic passe par lui. Un accès direct à l’origine contournera la protection.
  • Les signatures évoluent et des variantes d’exploit peuvent apparaître plus rapidement que les règles.

Comment empêcher qu’un attaquant contourne le WAF

Il est courant de découvrir des enregistrements DNS oubliés, des sous-domaines de staging exposés ou des anciennes IP publiques qui permettent un accès direct à l’origine. Vérifiez les points suivants et corrigez-les sans tarder

  • Bloquez l’accès direct IPv4/IPv6 à l’origine et n’autorisez que les adresses du WAF
  • Désactivez ou protégez tout environnement de test, pré-prod ou sauvegarde
  • Vérifiez les règles de pare-feu réseau et les ACL de cloud pour empêcher des connexions directes

Que faire si vous ne pouvez pas patcher tout de suite

PHP indique que la seule solution complète est la mise à jour. Cependant il existe des mesures temporaires pour réduire la fenêtre d’exposition. L’une des plus pratiques vise la fonctionnalité la plus exploitée jusqu’à présent, le suivi de progression des uploads de session. Désactivez-la si vos applications peuvent s’en passer.

session.upload_progress.enabled = Off

Placez ce réglage dans php.ini ou dans le pool FPM, puis redémarrez les services. N’oubliez pas que cette action n’est qu’un palliatif. Elle ne corrige pas la vulnérabilité liée à la corruption mémoire et n’empêche pas toutes les voies d’exploitation.

Signes d’une compromission à chercher après les tentatives d’attaque

Lorsque des exploits sont massifs, certaines victimes peuvent être compromises même sans log évident. Cherchez ces indicateurs

  • Fichiers PHP inconnus placés dans les répertoires web
  • Tâches cron et comptes administrateur non reconnus
  • Connexions sortantes suspectes ou pic d’activité réseau vers des IP étrangères
  • Requêtes d’upload inhabituelles et tentatives répétées sur des endpoints upload

En cas de doute, isolez le serveur, conservez des copies des logs et procédez à une analyse forensique avant de remettre en production.

Qui a découvert ces failles et quelles sources suivre

Plusieurs chercheurs ont contribué à l’identification des vulnérabilités. Les avis de sécurité officiels de PHP et les avis CVE contiennent les détails techniques et les correctifs. Des sociétés de sécurité ont déjà signalé des tentatives d’exploitation en masse, et des outils de surveillance de trafic web montrent des volumes importants de scans et d’attaques exploitant php2shell, nom donné à l’ensemble des vecteurs publics.

Questions fréquentes

Mon site WordPress va-t-il être corrigé si je mets à jour WordPress Non. Les correctifs doivent s’appliquer au runtime PHP sur le serveur. Les mises à jour de WordPress, thèmes et plugins n’affectent pas l’exécutable PHP.

Un fournisseur peut-il livrer un backport sans changer la version affichée Oui. Certains fournisseurs appliquent des correctifs de sécurité sans modifier l’identifiant de branche. Demandez une confirmation écrite que les deux CVE sont traités.

Dois-je désactiver session.upload_progress si je ne peux pas patcher immédiatement C’est recommandé comme mesure temporaire car beaucoup d’exploits ciblent ce chemin. Ce n’est pas une solution complète et il faut planifier la mise à jour.

Comment vérifier que tout le trafic passe par mon WAF Contrôlez les règles réseau et assurez-vous que l’origine refuse les connexions directes en dehors des adresses IP du fournisseur WAF.

Existe-t-il des outils de détection d’exploit connus Certains scanners de sécurité et règles WAF peuvent repérer les signatures publiques. Toutefois, la détection n’est pas infaillible et la mise à jour de PHP reste essentielle.

Que faire si je découvre un fichier web suspect Isolez immédiatement le serveur, sauvegardez les logs, retirez le fichier et lancez une vérification complète. Envisagez une analyse professionnelle si des preuves de compromission existent.

Donnez votre avis

★★★★★

Soyez le 1er à noter cet article
ou bien laissez un avis détaillé


Publiez un commentaire

Publier un commentaire