PHP publie des correctifs d'urgence pour des failles critiques d'exécution de code à distance PHP2Shell
PHP a publié des mises à jour urgentes pour corriger deux vulnérabilités critiques dans son moteur d'exécution, permettant l'exécution de code à distance sans authentification. Ces failles affectent presque toutes les versions de PHP et sont déjà exploitées
Traduit automatiquement depuis l'original anglais.
Le projet PHP a publié des mises à jour de sécurité d'urgence le 21 octobre 2026 pour corriger deux vulnérabilités critiques collectivement connues sous le nom de PHP2Shell. Ces failles résident dans le cœur du moteur d'exécution PHP plutôt que dans des applications individuelles, permettant aux attaquants d'exécuter du code arbitraire sur les serveurs web sans authentification. La publication est intervenue un jour plus tôt que prévu après la fuite en ligne des détails des vulnérabilités, ce qui a incité l'équipe de sécurité de PHP à agir immédiatement.
Ce qui s'est passé
Les vulnérabilités, identifiées comme CVE-2026-109618 et CVE-2026-109619, ont une note de gravité CVSS v4.0 de 9,2. Elles affectent presque toutes les versions de PHP depuis PHP 5.4. Les correctifs sont disponibles dans PHP 8.5.12, 8.4.27, 8.3.36 et 8.2.35. Comme ces bugs existent dans le moteur du langage lui-même, même une page statique « Hello World » servie par une installation PHP vulnérable est à risque. Le danger le plus élevé concerne les serveurs utilisant mod_php d'Apache, où une seule requête non authentifiée peut déclencher l'exploitation avant que tout code applicatif ne soit exécuté.
Des chercheurs de Wiz, Calif et OpenAI ont découvert et signalé les failles. Leur travail, assisté par des outils d'IA, a accéléré l'identification d'exploits fonctionnels pour du code présent dans PHP depuis plus d'une décennie. Avant la publication officielle du correctif, Cloudflare a observé des tentatives d'exploitation précoces contre ses clients. Au moment de la sortie des correctifs, la société de sécurité watchTowr a confirmé des tentatives d'exploitation actives pour les deux CVE, bien qu'aucune intrusion réussie spécifique n'ait été publiquement confirmée à ce moment-là. Des services majeurs, y compris BambooHR et plusieurs plateformes gouvernementales néerlandaises, ont mis des systèmes hors ligne par mesure de précaution.
Comment cela fonctionne
Ces vulnérabilités permettent aux attaquants de lire la mémoire du processus worker PHP et potentiellement d'obtenir une exécution de code à distance. Cet accès à la mémoire peut exposer des données sensibles telles que des mots de passe, des clés API et des jetons d'authentification provenant d'autres requêtes, sans que l'attaquant ait d'abord acquis des privilèges d'exécution de code. Le profil de risque varie selon la configuration du serveur. Alors que mod_php est très susceptible à une exploitation immédiate, PHP-FPM offre une certaine résistance naturelle car il termine les workers lorsque les requêtes échouent lors de leur initialisation. Cependant, les chercheurs ont démontré que l'une des failles pouvait toujours mener à une exécution de code sur PHP-FPM dans des conditions spécifiques impliquant des opérations au sein de l'application en cours d'exécution.
Le processus de divulgation a été perturbé lorsqu'une firme de recherche a accidentellement publié une vidéo de preuve de concept (PoC) et qu'un fournisseur a publié des images conteneur corrigées quelques heures avant la sortie officielle. Cette exposition prématurée a forcé l'équipe PHP à accélérer son calendrier. Les problèmes sous-jacents découlaient de mécanismes complexes de gestion de la mémoire et de traitement des sessions présents dans PHP depuis des années. Un audit externe de 2024 avait initialement signalé des signes de la faille de dépassement de mémoire derrière CVE-2026-109618, mais un vecteur d'attaque concret n'a pas été établi jusqu'à ce que des recherches récentes assistées par IA clarifient le chemin d'exploitation.
Détails clés
- Versions affectées : Toutes les versions de PHP de 5.4 à 8.5.11, 8.4.26, 8.3.35 et 8.2.34 sont vulnérables.
- Versions corrigées : Mettez à jour vers PHP 8.5.12, 8.4.27, 8.3.36 ou 8.2.35 immédiatement.
- Risque maximal : Les serveurs utilisant Apache mod_php sont les plus vulnérables à l'exécution de code à distance sans authentification.
- Atténuations partielles : Pour CVE-2026-109619, définir
session.upload_progress.enabled=0réduit le risque mais ne corrige pas complètement le problème. - Support hérité : PHP 8.1 et les versions antérieures sont en fin de vie ; des backports de source sont disponibles pour PHP 7.4, 8.0 et 8.1 pour ceux qui compilent depuis les sources.
- Signes de détection : Recherchez des requêtes multipart inhabituelles, des erreurs de limite de mémoire, des réponses HTTP 500 répétées et des redémarrages inattendus des workers PHP.
Pourquoi c'est important
Pour les ingénieurs logiciels et les responsables IT, cet incident met en évidence la différence critique entre la sécurité au niveau de l'application et les vulnérabilités au niveau du runtime. La mise à jour de frameworks comme Laravel ou WordPress ne protège pas contre PHP2Shell car la faille existe dans l'interpréteur sous-jacent. Cela signifie que même des applications bien auditées sont exposées si l'environnement serveur n'est pas patché. La rapidité avec laquelle la recherche assistée par IA a transformé des bugs théoriques anciens en exploits fonctionnels souligne également la nécessité de cycles de patching rapides. Attendre une fenêtre de maintenance planifiée n'est plus une stratégie viable pour les failles critiques du runtime.
La perturbation causée par les fuites prématurées et les tentatives d'exploitation actives démontre la fragilité de la divulgation coordonnée dans le paysage moderne des menaces. Les organisations doivent disposer de plans de réponse aux incidents robustes incluant la capacité de mettre à jour rapidement les composants d'infrastructure. Se reposer uniquement sur des ajustements de configuration comme stratégie d'atténuation est dangereux, car les développeurs principaux de PHP ont explicitement déclaré que seule la mise à jour fournit une protection complète. Cet événement sert de rappel que les dépendances d'infrastructure nécessitent le même niveau de vigilance que le code applicatif.
Ce que vous pouvez faire
- Identifiez tous les serveurs exécutant PHP et vérifiez leurs numéros de version actuels par rapport aux versions corrigées listées ci-dessus.
- Mettez à jour le package runtime PHP via votre gestionnaire de paquets système ou reconstruisez les images conteneurs avec les versions patchées.
- Redémarrez tous les serveurs web, pools PHP-FPM et workers PHP longue durée pour garantir que le nouveau binaire est chargé.
- Si une mise à jour immédiate est impossible, appliquez des atténuations partielles telles que la désactivation de la progression du téléchargement de session et l'imposition de limites de mémoire strictes, mais prévoyez de patcher dès que possible.
- Surveillez les logs pour détecter les indicateurs de compromission, y compris des soumissions de formulaires multipart étranges et des pics soudains d'erreurs 500.
- Vérifiez que le changelog des paquets de votre distribution Linux inclut les correctifs CVE pertinents, car les chaînes de version peuvent ne pas toujours refléter l'état du patch dans les distributions LTS.



