Contexte des correctifs

Le 21 octobre 2026, le projet PHP a publié les versions 8.5.12, 8.4.27, 8.3.36 et 8.2.35. Ces quatre correctifs résolvent les CVE‑2026‑109618 et CVE‑2026‑109619, deux failles classées CVSS 9.2 qui permettent à un attaquant non authentifié d’exécuter du code sur un serveur PHP. Les deux vulnérabilités touchent des parties du moteur PHP invoquées à chaque requête : la gestion de la mémoire et le traitement des erreurs.

Analyse technique des vulnérabilités

Le premier problème, identifié comme un défaut d’Out‑of‑Memory (OOM), provient d’une mauvaise manipulation d’un tampon lors d’une allocation dynamique. Dans des conditions contrôlées, l’allocation échoue, le moteur libère une zone de mémoire déjà utilisée, puis continue l’exécution, ouvrant ainsi une voie d’injection de code. Le second défaut réside dans le mécanisme de propagation d’erreurs : un état d’erreur mal réinitialisé entraîne la réexécution d’un pointeur de fonction avec des privilèges élevés, ce qui conduit à une exécution arbitraire. Les deux vecteurs partagent le même point d’ancrage, ce qui explique la gravité et la difficulté de les corriger sans rompre la compatibilité avec les extensions tierces.

Processus de correction et organisation

En 2024, le PHP Foundation a financé un audit externe mené par Quarkslab via l’OSTIF. Au cours de cet audit, un développeur interne a repéré les premiers signes du problème OOM, mais aucune chaîne d’exploitation concrète n’a été démontrée à l’époque. La résolution a nécessité l’évaluation de plusieurs approches : modification de l’API d’allocation (rupture de compatibilité), ajout de vérifications supplémentaires (potentiel DoS) ou refonte du système d’erreurs (impact sur les extensions). Le choix final a été retardé par un processus décisionnel consensuel et par le manque de ressources humaines spécialisées dans le moteur.

Depuis mai 2026, le PHP Foundation a créé une « Ecosystem Security Team » pour soutenir le groupe de sécurité principal. Cette équipe comprend Volker Dusch (AI Security Engineer), Alexandre Daubois (triage) et Daniel Scherzer (hardening). L’utilisation d’outils d’IA, notamment Anthropic Claude Mythos, OpenAI Daybreak Red et des environnements de reproduction automatisés, a permis de filtrer plus de 100 rapports, de valider 15 CVE et d’accélérer la génération de correctifs.

Gestion de la divulgation et leçons tirées

Le 20 octobre 2026, les identifiants CVE ont fuité sur les forums avec un CVSS erroné de 10.0. Le projet PHP a avancé son pré‑annonce à 19 h 30 UTC et a avancé la date de mise à disposition du correctif du 22 octobre à 21 octobre. Cette décision a limité l’exposition tout en laissant le temps aux distributeurs de préparer les paquets. Cependant, Chainguard a publié les images contenant le correctif à 07 h 41 UTC le 21 octobre, brisant l’embargo et rendant le correctif immédiatement accessible aux attaquants. Aucun exploit fonctionnel n’a été observé au moment de la publication, mais la diffusion du vidéo de Calif a accéléré la création de PoC.

Les enseignements majeurs portent sur la nécessité d’un processus décisionnel plus agile, d’une équipe dédiée à la coordination des correctifs et d’une surveillance stricte des fuites d’information avant la date officielle de publication.