PHP a publié le 21 octobre 2026 des correctifs pour deux failles critiques, CVE-2026-109618 et CVE-2026-109619. Elles peuvent permettre une exécution de code à distance sans authentification sur des installations qui traitent des requêtes web. Les administrateurs doivent appliquer la version corrigée correspondant à leur branche ou vérifier le correctif auprès du fournisseur de leur paquet ou service. L’avis de sécurité de PHP donne les versions et les mesures provisoires.

Deux failles pouvant mener à une exécution de code à distance

Explication en anglais de Kevin Powell sur les deux failles PHP et les enjeux de mise à jour.

L’exécution de code à distance permet à un attaquant d’exécuter du code sur un serveur depuis l’extérieur. PHP indique que les deux failles exposent les installations qui servent des requêtes web. Parmi les configurations citées figurent PHP-FPM, Apache avec mod_php, php-cgi, FrankenPHP et LiteSpeed. PHP désigne mod_php comme la configuration nommée présentant le risque le plus élevé.

CVE-2026-109618 concerne le traitement d’une erreur de mémoire insuffisante : PHP peut être interrompu alors que les données d’une requête ne sont que partiellement initialisées, puis le nettoyage peut traiter des données invalides comme valides. Avec CVE-2026-109619, un état interne associé à une requête peut subsister après la libération de la mémoire correspondante. Une requête ultérieure traitée par le même processus peut alors réutiliser cet état périmé.

Les versions de PHP corrigées

Les versions amont corrigées publiées par PHP correspondent à quatre branches :

Branche PHPVersion corrigée
PHP 8.58.5.12
PHP 8.48.4.27
PHP 8.38.3.36
PHP 8.28.2.35

Une version amont ne suffit pas à déterminer l’état d’un paquet fourni par une distribution ou un hébergeur. PHP 8.1 et les branches antérieures ne reçoivent plus de mises à jour du projet PHP, mais certaines distributions et certains fournisseurs à support long terme proposent des correctifs rétroportés. PHP a aussi publié des rétroportages minimaux du code source pour les branches 7.4, 8.0 et 8.1. Les administrateurs doivent donc identifier la source de leur paquet et suivre les consignes de ce fournisseur, notamment pour les appareils et services qui intègrent PHP.

Si la mise à jour immédiate est impossible

PHP distingue les mesures provisoires selon la faille visée. Pour CVE-2026-109618, le projet recommande memory_limit=-1 dans une configuration que les applications ne peuvent pas remplacer, ainsi qu’une limitation de la taille des requêtes. Une défaillance d’allocation mémoire peut toutefois encore atteindre le chemin vulnérable.

Pour CVE-2026-109619, PHP recommande de désactiver session.upload_progress avant l’analyse des requêtes, puis de redémarrer les processus de travail. Pour un chemin confirmé sur PHP 8.5, le projet cite également fatal_error_backtraces=0. Ces mesures ne couvrent que des chemins d’attaque précis. PHP indique que seule la mise à jour apporte une correction complète.

Le Centre national de cybersécurité du Royaume-Uni (NCSC) conseille aux organisations de recenser leurs installations PHP et de donner la priorité aux systèmes exposés à Internet. Il recommande d’appliquer les correctifs ou, si nécessaire, des mesures provisoires. Si ni l’un ni l’autre ne peut être mis en place à temps, l’organisation peut envisager de mettre le système hors ligne. Lorsque la mise à jour ou l’arrêt immédiat est impossible, le NCSC recommande aussi de rechercher d’éventuelles compromissions et portes dérobées. Ses recommandations de réponse incluent également le suivi des mises à jour des appareils et services tiers qui embarquent PHP.

Ce qu’un visiteur de site peut faire

La faille se trouve côté serveur : un visiteur ne peut pas installer le correctif PHP du site. La mise à jour relève de l’organisation qui exploite le serveur ou du fournisseur qui gère le paquet et le service.