Vulnérabilités critiques dans PHP
.png)
Produits concernés
• PHP 8.5 versions antérieures à 8.5.12
• PHP 8.4 versions antérieures à 8.4.27
• PHP 8.3 versions antérieures à 8.3.36
• PHP 8.2 versions antérieures à 8.2.35
• Les branches précédentes, 8.1 et inférieures, 7.x sont également vulnérables mais sans support
• L’éditeur n’indique pas si les versions précédentes (5.x et inférieures) sont vulnérables ou non. Les retours semblent actuellement indiquer que cette version est également vulnérable.
Prérequis
• Accès réseau à une application web s'appuyant sur PHP
Risques
• Exécution de code arbitraire à distance
• Prise de contrôle du serveur
• Exfiltration de données sensibles
Résumé
Deux vulnérabilités critiques de type “Exécution de code arbitraire à distance” affectant le langage PHP ont été publiées par l’éditeur le 21 octobre 2026, après une annonce anticipée le 20 octobre faisant suite à la divulgation prématurée de leur existence.
Le niveau de criticité initial de ces vulnérabilités est de 9.2 (score CVSSv4.0).
PHP est un langage de programmation utilisé par une grande partie des sites et applications web, notamment WordPress, Drupal, Joomla ou Magento, ainsi que par de nombreux logiciels et équipements qui l’embarquent.
• CVE-2026-109619 : Une vulnérabilité de type use-after-free permet à un attaquant distant non authentifié de faire réutiliser par une requête des données précédemment envoyées. L’exploitation de cette CVE permet à l’attaquant d’exécuter du code arbitraire avec les privilèges du serveur web. Une exécution de code a été démontrée par l’éditeur via le mécanisme de suivi de progression de téléversement de session.
Un code d’exploitation public est disponible. Des éditeurs de sécurité ont signalé des exploitations actives de ces vulnérabilités. Les vulnérabilités ne figurent pas encore au catalogue KEV de la CISA, cependant, des exploitations sont à prévoir à très court terme et le catalogue KEV mis à jour d’ici peu.
Étant donné le risque associé, nous préconisons de corriger ces vulnérabilités sans plus attendre pour toute machine exposée sur Internet, ou de les sortir d’internet si les mises à jour sont impossibles.
Solutions
Détection de la compromission :
Afin de vérifier si un équipement est compromis, vous pouvez :
• Rechercher des processus PHP (php-fpm, php-cgi, httpd, apache2) lançant des processus enfants anormaux : shells (sh, bash, cmd.exe, powershell.exe), interpréteurs (python, perl) ou outils de téléchargement (curl, wget, nc, certutil.exe)
• Rechercher dans les lignes de commande des motifs de reverse shell (/dev/tcp/, fsockopen, mkfifo) ou des commandes de reconnaissance (whoami, id, uname -a, ipconfig) exécutées par le serveur web
• Rechercher dans les journaux Apache, PHP-FPM et du reverse proxy des erreurs Allowed memory size exhausted répétées, des erreurs fatales ou Maximum execution time exceeded, ainsi que des arrêts anormaux de workers (segmentation fault)
• Rechercher des requêtes POST multipart anormales : absence d’en-tête Content-Length, nombre très élevé de parties, d’en-têtes par partie ou de champs fichier vides, noms de champs fortement imbriqués
• Vérifier l'absence de webshells ou de nouveaux fichiers dans les répertoires web, ainsi que de nouvelles tâches planifiées, tâches cron ou nouveaux comptes
Aucun indicateur de compromission public n'est disponible à l'heure de l'émission de ce bulletin.
Remédiation
Mettre à jour PHP vers les versions :
• 8.5.12
• 8.4.27
• 8.3.36
• 8.2.35
Pour certaines versions End Of Life (7.4, 8.0 et 8.1), l’éditeur a publié des correctifs minimaux sous forme de sources, à compiler. Une mise à jour en version supportée reste cependant conseillée. Pour les versions précédentes, l’éditeur ne propose pas de mise à jour
Mitigation
L’éditeur indique que certaines mesures peuvent limiter l’impact, sans pour autant proposer une protection complète, en plus d’être complexes à mettre en oeuvre. Login Sécurité recommande fortement la mise à jour.
CVE-2026-109618 :
• Définir memory_limit=-1 de manière non surchargeable par les applications (php_admin_value dans le pool FPM ou la configuration Apache), et vérifier qu’aucun pool, répertoire ou paramètre applicatif ne rétablit une limite finie
• Réduire post_max_size à 8M pour les applications sans upload de fichiers, ou 32M si l’upload est nécessaire, en conservant upload_max_filesize inférieur à post_max_size
• Limiter au niveau du serveur web ou du reverse proxy la taille décodée des requêtes, le nombre de champs, de parties multipart, d’en-têtes et la profondeur d’imbrication, y compris pour les requêtes sans Content-Length. Bloquer les requêtes multipart si l’application n’en utilise pas
• Ne pas utiliser RLIMIT_AS ou RLIMIT_DATA comme limite mémoire, ceux-ci pouvant déclencher le chemin vulnérable
CVE-2026-109619 :
• Définir session.upload_progress.enabled=0 dans php.ini, le pool FPM ou la configuration du serveur, puis redémarrer tous les workers. Ne pas utiliser ini_set() ni .user.ini
• Sur PHP 8.5, définir fatal_error_backtraces=0 et redémarrer tous les workers
• Supprimer les directives INI invalides ou obsolètes appliquées par requête (php_value dans .htaccess, paramètres FastCGI PHP_VALUE). Masquer les erreurs via error_reporting, display_errors ou @ n’a aucun effet protecteur
• Corriger les erreurs fatales et dépassements de délai d’exécution atteignables par un attaquant
Références
• https://www.php.net/archive/2026.php#2026-10-20-1
• https://www.huntress.com/blog/php2shell-leaked-critical-php-vulnerabilities
• https://watchtowr.com/intelligence/php-cve-2026-109618-faq/
• https://github.com/php/php-src/security/advisories/GHSA-w8hw-w9fx-j79w
• https://github.com/php/php-src/security/advisories/GHSA-6wmf-4rv5-p3rp

Restez informés des dernières menaces !
Recevez les alertes de sécurité critiques et nos conseils pour protéger votre entreprise.

