État résiduel entre requêtes

CVE-2026-109619 conserve des références à une mémoire de requête libérée. Une requête ultérieure sur le même processus peut les utiliser avant l’initialisation. Les chemins confirmés incluent les backtraces fatales de PHP 8.5 et le suivi des téléversements de session. Une RCE a été validée sur mod_php et FPM avec un chemin applicatif adapté.

FPM est-il exempté ?

Non. FPM termine son processus enfant si le démarrage de requête échoue, ce qui bloque certaines séquences initiales. Les chemins applicatifs et interrequêtes subsistent. N’assimilez pas toutes les configurations à la démonstration mod_php, mais ne dispensez pas FPM de mise à jour.

Progression des téléversements et backtraces

Appliquez session.upload_progress.enabled=0 avant l’analyse, puis redémarrez. Pour PHP 8.5, fatal_error_backtraces=0 bloque seulement le producteur confirmé. Supprimez les réglages par requête invalides générant des diagnostics précoces. display_errors, error_reporting et @ ne bloquent pas la faille. Aucun réglage ne couvre tout.

2. Installer un binaire corrigé

Les premières versions corrigées sont 8.2.35, 8.3.36, 8.4.27 et 8.5.12. Choisissez une branche prise en charge et mettez aussi les extensions à jour. Testez applications et sondes de santé. Utilisez PHP ou votre fournisseur ; WAF et mise à jour du CMS ne remplacent pas le patch.

Quatre branches. Une cible précise.
Branche PHPVersions amont inférieures àPremière version corrigéeFin du support de sécurité
PHP 8.5< 8.5.12✓ 8.5.1231 déc. 2029
PHP 8.4< 8.4.27✓ 8.4.2731 déc. 2028
PHP 8.3< 8.3.36✓ 8.3.3631 déc. 2027
PHP 8.2< 8.2.35✓ 8.2.3531 déc. 2026
PHP 8.1 ou antérieur ?

Aucune publication PHP habituelle n’est prévue pour ces branches. Des rétroportages source minimaux existent pour 7.4, 8.0 et 8.1. Vérifiez séparément le support du fournisseur. Lire le guide ↗

Sources primaires et lectures complémentaires

PHP security teamSecurity advisory · 21 Oct 2026
CVE-2026-109618GHSA-w8hw-w9fx-j79w · OOM corruption
CVE-2026-109619GHSA-6wmf-4rv5-p3rp · Stale global state
Étape suivante3. Redémarrer et vérifier partout ↗