Situazione attuale: PHP2Shell. Due vulnerabilità critiche di PHP (CVSS 9,2) consentono codice dannoso senza autenticazione. Patch dal 21/10/2026.Che cosa fare ora →

CVE-2026-115560: avviso su session upload progress

CVE-2026-115560 è un avviso di php.net del 23/10/2026: possibile esecuzione di codice solo con una configurazione di sessione insolita. Rimedio fino al prossimo release: session.upload_progress.enabled=0.

Stato 5 min di letturaPHP2Shell

In breve: CVE-2026-115560 è un avviso pubblicato da php.net il 23 ottobre 2026. Secondo di esso l'esecuzione di codice da remoto è possibile solo con una configurazione di sessione insolita. Fino al prossimo bugfix release regolare il rimedio è: impostare session.upload_progress.enabled=0 lato server e riavviare tutti i worker.

Che cos'è CVE-2026-115560?

Due giorni dopo le patch per le vulnerabilità PHP2Shell CVE-2026-109618 e CVE-2026-109619, il progetto PHP ha pubblicato un altro avviso. CVE-2026-115560 riguarda l'elaborazione delle sessioni di PHP in combinazione con la funzione session upload progress, che salva nella sessione l'avanzamento dei caricamenti di file in corso.

Secondo php.net è possibile un'esecuzione di codice dannoso da remoto, ma solo con una configurazione insolita. L'advisory completo, con tutti i dettagli, dovrebbe seguire con il prossimo bugfix release regolare. Fino ad allora lo stato delle conoscenze è volutamente scarno.

Che cosa fa session upload progress?

Session upload progress è una funzione di comodità di PHP. Quando un visitatore carica un file più grande, durante il caricamento PHP scrive continuamente nella sessione indicazioni sull'avanzamento: quanti dati sono già arrivati e quale file viene trasferito in quel momento. Un'applicazione può interrogare in parallelo queste indicazioni e ricavarne una barra di avanzamento.

Nella pratica la usano poche applicazioni, perché i moduli di upload moderni misurano di solito l'avanzamento direttamente nel browser. In PHP, però, la funzione è attiva per impostazione predefinita. Per questo compare sia con CVE-2026-115560 sia tra le misure provvisorie contro PHP2Shell: ciò che non serve dovrebbe essere disattivato.

Quando un server è interessato da CVE-2026-115560?

Secondo l'avviso di php.net devono verificarsi insieme tre condizioni:

  1. Nella configurazione, per session.serialize_handler è impostato il valore php_binary o php_serialize.
  2. L'applicazione riporta questo valore a php in fase di esecuzione tramite ini_set(), prima di richiamare session_start().
  3. Session upload progress è attivo.

Il valore predefinito di session.serialize_handler è php. Un cambio nella configurazione e un ripristino nel codice è insolito, ma si verifica in sviluppi propri cresciuti nel tempo o in librerie con gestione delle sessioni propria. Se ciò valga nel Suo caso si può verificare.

Come verificare la Sua configurazione

Prima i valori effettivi. La CLI può leggere un php.ini diverso da PHP-FPM o mod_php; verifichi quindi anche la configurazione del web server o del pool FPM.

php -i | grep -E "session.serialize_handler|session.upload_progress.enabled"
grep -rn "serialize_handler\|upload_progress" /etc/php/ 2>/dev/null   # il percorso varia a seconda della distribuzione

Poi il codice dell'applicazione. La ricerca seguente è di sola lettura e mostra i punti in cui l'handler viene impostato in fase di esecuzione:

grep -rn "session.serialize_handler" /var/www/ --include="*.php"

Se la ricerca non trova nulla e nella configurazione l'handler è su php, la combinazione descritta è improbabile. Dovrebbe comunque disattivare session upload progress, perché php.net indica la stessa impostazione anche come misura provvisoria contro PHP2Shell.

Rimedio: session.upload_progress.enabled=0

Imposti il valore in php.ini, nel pool FPM o nella configurazione del server. Secondo php.net esplicitamente non tramite ini_set() o .user.ini, perché lì interviene troppo tardi o può essere sovrascritto dall'applicazione.

; php.ini (per tutti i pool e le SAPI che leggono questo file)
session.upload_progress.enabled = 0

; oppure nel pool FPM
php_admin_flag[session.upload_progress.enabled] = off
# Apache con mod_php, nel VirtualHost o nella configurazione del server
php_admin_flag session.upload_progress.enabled off

Poi riavviare tutti i worker PHP, ad esempio systemctl restart php8.3-fpm oppure Apache con mod_php. I nomi dei pacchetti e dei servizi variano a seconda della distribuzione. Senza riavvio continua a valere la vecchia impostazione. Maggiori informazioni alla pagina Riavviare PHP-FPM e tutti i worker.

Consiglio

Dopo il riavvio verifichi che l'impostazione sia davvero efficace: nel contesto web, non solo da riga di comando. Una pagina phpinfo creata per poco tempo e protetta dall'accesso mostra il valore effettivo; la cancelli subito dopo.

Inquadramento accanto a PHP2Shell

CVE-2026-115560 è nettamente più circoscritta delle due vulnerabilità PHP2Shell, che intervengono nelle modalità di esecuzione abituali senza configurazione particolare. Chi deve stabilire delle priorità dovrebbe prima installare l'aggiornamento PHP2Shell e poi impostare session.upload_progress.enabled=0. Entrambe le cose sono fattibili in una sola finestra di manutenzione.

Per la direzione e i non tecnici: CVE-2026-115560 non è un motivo di preoccupazione, ma è un punto dell'elenco. L'impostazione si fa in fretta, ha effetti percepibili su pochissime applicazioni e copre al tempo stesso una delle misure provvisorie contro PHP2Shell. Le altre misure provvisorie di php.net si trovano alla pagina Misure immediate se non può ancora applicare la patch, le indicazioni generali sulla configurazione delle sessioni alla pagina Mettere in sicurezza le sessioni in PHP.

Ciò che non sappiamo ancora: quali versioni di PHP siano interessate esattamente e quale release porti la correzione. Aggiorneremo questa pagina non appena uscirà l'advisory.

Come aiuta concretamente PHP SOS?

Nell'ambito dell'hardening del server attuiamo il rimedio in modo duraturo e verificabile:

  • Leggere la configurazione: valori di sessione effettivi per SAPI, pool e host virtuale.
  • Esaminare il codice: punti in cui handler od opzioni di sessione vengono modificati in fase di esecuzione.
  • Disattivare nel punto giusto: in php.ini, nel pool o nella configurazione del server, non sovrascrivibile dall'applicazione, con successivo riavvio.
  • Dare seguito: quando esce il bugfix release, lo installiamo e documentiamo lo stato.

Domande frequenti

CVE-2026-115560 fa parte di PHP2Shell?

La segnalazione è arrivata due giorni dopo le patch PHP2Shell e riguarda anch'essa PHP stesso. È però una vulnerabilità a sé, con un proprio numero CVE, e interviene solo con una configurazione particolare e insolita. Secondo lo stato attuale, gli aggiornamenti PHP2Shell del 21 ottobre non la correggono.

Esiste già un aggiornamento contro CVE-2026-115560?

Secondo lo stato del 25/10/2026, no. php.net annuncia che l'advisory completo seguirà con il prossimo bugfix release regolare. Fino ad allora il rimedio raccomandato è session.upload_progress.enabled=0.

Che cosa smette di funzionare se disattivo session upload progress?

La funzione comunica all'applicazione l'avanzamento dei caricamenti di file in corso. Perdono l'indicatore solo le applicazioni che realizzano una barra di avanzamento di questo tipo tramite questa funzione di PHP. Il caricamento vero e proprio continua a funzionare.

Fonti

Contatto immediato

Ogni ora conta. Ci scriva adesso.

Descriva brevemente sistema, versione di PHP e quanto osservato. Ci faremo sentire, chiariremo la situazione e lavoreremo da remoto fino alla chiusura e alla documentazione dell'incidente.

Aiuto immediato