PHP ha pubblicato il 21 ottobre 2026 le versioni che correggono CVE-2026-109618 e CVE-2026-109619: PHP 8.5.12, 8.4.27, 8.3.36 e 8.2.35. Sono le release upstream corrette; il pacchetto distribuito da un provider e la versione installata su un server dipendono invece dal relativo fornitore.

Quali versioni correggono le CVE

Video in inglese: Aikido Security illustra controlli di esposizione, aggiornamento delle versioni e mitigazioni per PHP.
Ramo PHPVersione corretta upstream
PHP 8.5PHP 8.5.12
PHP 8.4PHP 8.4.27
PHP 8.3PHP 8.3.36
PHP 8.2PHP 8.2.35

Come funzionano le due vulnerabilità

PHP descrive entrambe le vulnerabilità come rischi di esecuzione di codice da remoto senza autenticazione nelle installazioni che servono richieste web. CVE-2026-109618 riguarda la gestione di un esaurimento della memoria: una richiesta può interrompersi mentre alcuni dati interni sono inizializzati solo in parte, e la successiva procedura di pulizia può trattare come validi dati non validi.

CVE-2026-109619 riguarda invece uno stato interno della richiesta che può sopravvivere oltre la memoria che lo supporta. Una richiesta successiva, gestita dallo stesso worker, può utilizzare quello stato prima che venga reimpostato. PHP ha assegnato a ciascuna CVE un punteggio di gravità 9,2 secondo CVSS v4.0.

PHP indica tra le configurazioni web interessate PHP-FPM, Apache con mod_php, php-cgi, FrankenPHP e LiteSpeed. Secondo PHP, mod_php presenta il rischio più elevato: una richiesta non autenticata può raggiungere il percorso vulnerabile prima che venga eseguito il codice dell’applicazione.

Perché le mitigazioni temporanee non bastano

Per CVE-2026-109618, PHP raccomanda di impostare memory_limit=-1 in modo che le applicazioni non possano sovrascrivere il valore, di limitare post_max_size a 8M se non servono caricamenti di file o a 32M se sono necessari, e di applicare limiti adeguati alle risorse. PHP avverte che un errore di allocazione sottostante può comunque raggiungere il percorso vulnerabile.

Per CVE-2026-109619, disattivare session.upload_progress.enabled e riavviare tutti i worker blocca i percorsi di sessione confermati, non tutte le varianti. Su PHP 8.5, impostare fatal_error_backtraces=0 blocca il percorso confermato legato ai backtrace degli errori fatali.

PHP precisa che queste misure riducono l’esposizione a specifici percorsi, ma non rendono sicura un’installazione. L’aggiornamento alla versione corretta è la correzione completa.

PHP 8.1 e precedenti: backport e pacchetti

PHP 8.1 e i rami precedenti non ricevono più aggiornamenti dal progetto PHP. Per chi compila il runtime dal sorgente o non dispone di un fornitore con supporto a lungo termine, PHP ha pubblicato backport minimi del sorgente per le versioni 7.4, 8.0 e 8.1. Queste modifiche al sorgente non equivalgono a un pacchetto già distribuito o installato: per i rami più vecchi, la correzione dipende dal pacchetto o dal backport fornito dal distributore o dal provider di hosting.