Aller au contenu
Tous les articles

· par NetProtector Security Team

PHP2Shell : des failles PHP critiques activement exploitées

Deux vulnérabilités critiques dans le cœur de PHP, regroupées sous le nom « PHP2Shell », permettent à des attaquants d'exécuter du code sur des serveurs web sans authentification. Des correctifs sont disponibles depuis le 20 octobre 2026 – et des attaques sont déjà observées dans la nature. Si vous exploitez des applications PHP, vous devez agir dès maintenant.

De quoi s'agit-il

Sont concernées CVE-2026-109618 et CVE-2026-109619, toutes deux notées 9.2 selon CVSS 4.0. Il s'agit d'erreurs mémoire dans le cœur de PHP, et non dans une application ou un framework en particulier :

  • CVE-2026-109618 : lorsque PHP interrompt une requête pour cause de mémoire insuffisante, les données de la requête ne sont que partiellement initialisées. Lors du nettoyage de la requête, elles sont néanmoins traitées comme valides – un attaquant peut ainsi introduire de la mémoire invalide.
  • CVE-2026-109619 : l'état global d'une requête survit à la libération de sa mémoire. Une requête suivante sur le même worker le lit avant qu'il ne soit réinitialisé (use-after-free). Cela permet également de lire la mémoire du worker – y compris les mots de passe, jetons ou clés API qui s'y trouvent à ce moment-là.

Toutes les installations qui traitent des requêtes web sont exposées : PHP-FPM, Apache avec mod_php, php-cgi, FrankenPHP et LiteSpeed. La facilité d'exploitation des failles dépend de la configuration et de l'application ; un vecteur d'attaque confirmé passe par la fonction Session Upload Progress.

Pourquoi c'est urgent

Les failles ont été divulguées plus tôt que prévu : des indices circulaient sur des forums avant la date de publication du correctif, et une vidéo présentant une preuve de concept avait été rendue publique par erreur à l'avance. Entre-temps, des scripts d'exploitation sont accessibles publiquement, et plusieurs sociétés de sécurité observent une exploitation active. PHP fonctionne sur une grande partie des serveurs web – les attaquants scannent donc à grande échelle.

Ce que vous devez faire maintenant

  1. Mettre à jour. Les versions corrigées sont 8.5.12, 8.4.27, 8.3.36 et 8.2.35. Les distributions rétroportent souvent les correctifs en conservant l'ancien numéro de version – c'est l'avis de sécurité de votre fournisseur qui fait foi. PHP 8.1 et les versions antérieures ne reçoivent plus de mises à jour régulières ; seule une migration vers une version plus récente permet d'y remédier.
  2. Vérifier ce qui tourne réellement. php -v en ligne de commande n'indique pas nécessairement la version utilisée par le serveur web. Redémarrez PHP-FPM ou Apache après la mise à jour et contrôlez la version des workers en cours d'exécution.
  3. Sécuriser provisoirement si une mise à jour n'est pas possible immédiatement (le projet PHP le souligne : seule la mise à jour corrige entièrement les failles) :
    • Définir session.upload_progress.enabled = 0 dans le fichier php.ini ou dans la configuration du pool FPM, puis redémarrer les workers – via ini_set() ou .user.ini, cela ne suffit pas.
    • Sous PHP 8.5, définir en outre fatal_error_backtraces = 0.
    • Fixer des limites strictes de taille et d'upload (post_max_size, upload_max_filesize, max_file_uploads) et bloquer les requêtes multipart au niveau du reverse proxy là où elles ne sont pas nécessaires.
    • Dans la mesure du possible, déconnecter le service d'Internet ou le filtrer en amont.
  4. Rechercher des traces. Examinez les journaux du serveur web à la recherche de requêtes multipart et d'upload suspectes ainsi que de plantages de workers PHP depuis la mi-octobre. Les attaques réussies se manifestent souvent par de nouveaux fichiers dans le répertoire web ou par des connexions sortantes inhabituelles du serveur web.

Notre analyse

PHP2Shell illustre parfaitement la rapidité avec laquelle se referme la fenêtre entre la divulgation et l'exploitation. Une gestion des correctifs à jour reste la mesure la plus importante. Côté réseau, l'Intrusion Prevention aide à bloquer les schémas d'attaque connus au niveau du périmètre, et une détection d'anomalies permet de repérer lorsqu'un serveur web établit soudainement des connexions qu'il n'a jamais établies auparavant – un signe typique d'une compromission réussie.

Sources