Le 21 octobre 2026, PHP a publié les versions 8.5.12, 8.4.27, 8.3.36 et 8.2.35 pour corriger CVE-2026-109618 et CVE-2026-109619, deux vulnérabilités critiques du moteur PHP. L’avis de sécurité de PHP donne les versions corrigées et les mesures de réduction du risque. Le 20 octobre, PHP avait attribué à chacune un score de 9,2 selon CVSS v4.0.

Les versions corrigées, branche par branche

Aikido Security présente en anglais des vérifications d’exposition et le déploiement de correctifs PHP.

Chaque numéro correspond à une branche précise de PHP. Les distributions et les hébergeurs peuvent aussi publier leurs propres paquets.

Branche PHPVersion corrigée par le projet PHP
PHP 8.58.5.12
PHP 8.48.4.27
PHP 8.38.3.36
PHP 8.28.2.35

Deux mécanismes touchent la gestion de mémoire des requêtes

Selon PHP, CVE-2026-109618 concerne le traitement d’une requête interrompu par un manque de mémoire alors que ses données internes sont encore partiellement initialisées. Lors du nettoyage, ces données invalides peuvent être traitées comme valides, ce qui crée un risque d’exécution de code à distance sans authentification.

CVE-2026-109619 concerne un état interne associé à une requête qui peut rester présent après la libération de la mémoire à laquelle il se rapporte. Une requête ultérieure, traitée par le même worker, peut alors réutiliser cet état avant sa réinitialisation normale.

PHP indique que le risque concerne les installations qui traitent des requêtes web, notamment PHP-FPM, Apache avec mod_php, php-cgi, FrankenPHP et LiteSpeed. PHP désigne mod_php comme le mode le plus risqué : une requête non authentifiée peut atteindre le chemin vulnérable avant l’exécution du code de l’application.

Les réglages provisoires ne remplacent pas le correctif

Pour CVE-2026-109618, PHP recommande notamment de régler memory_limit sur -1 de façon que les applications ne puissent pas modifier ce paramètre, de limiter post_max_size à 8M lorsque les téléversements ne sont pas nécessaires ou à 32M lorsqu’ils le sont, et d’appliquer des limites de ressources adaptées. PHP précise qu’un échec d’allocation sous-jacent peut encore emprunter le chemin vulnérable.

Pour CVE-2026-109619, désactiver session.upload_progress.enabled et redémarrer chaque worker bloque les chemins de session confirmés, mais pas les autres variantes. Sur PHP 8.5, régler fatal_error_backtraces sur 0 bloque uniquement le chemin confirmé lié aux traces d’erreur fatale.

Dans son alerte publiée le 21 octobre, le CERT-FR recommandait d’isoler les équipements concernés, puis de migrer vers une version maintenue intégrant les derniers correctifs de sécurité. PHP précise que les mesures temporaires ne rendent pas une installation sûre et que la mise à jour constitue la correction complète. L’alerte du CERT-FR détaille aussi ses recommandations pour les systèmes affectés.

PHP 8.1 et les versions antérieures

PHP 8.1 et les branches précédentes ne reçoivent plus de mises à jour du projet PHP. Le projet a fourni des rétroportages minimaux du code source pour PHP 7.4, 8.0 et 8.1, destinés notamment aux personnes qui compilent PHP elles-mêmes ou qui n’ont pas accès à un fournisseur LTS. Ces rétroportages du code source sont distincts des paquets distribués par les fournisseurs. PHP conseille aux utilisateurs des anciennes branches de consulter leur distribution ou leur hébergeur, ou de migrer vers une branche maintenue.