Vai al contenuto
BESTEMMIE BINARIE

STOP: CVE-2026-115560

La barra di avanzamento che ti apre il server

Due giorni dopo PHP2Shell, PHP avvisa di un'altra falla senza correzione. Colpisce pochi, ma la toppa provvisoria è comica: spegnere una barra di avanzamento.

bestemmie
patch
NESSUNA

Pubblicato il

Avete appena finito di aggiornare per PHP2Shell? Vi siete pure concessi una birra? Posatela.

Il 23 ottobre, due giorni dopo le correzioni d'emergenza per PHP2Shell, PHP ha avvisato di un'altra vulnerabilità: la CVE-2026-115560, che può portare a eseguire codice da remoto. E stavolta la correzione non c'è ancora: arriverà con il prossimo rilascio ordinario. Per ora c'è solo un consiglio su cosa spegnere nel frattempo.

Il colpevole: una barra di avanzamento

PHP ha una funzione che si chiama session upload progress. Serve a una cosa sola: quando qualcuno carica un file sul vostro sito, PHP tiene traccia di quanto ne ha caricato, così potete mostrare la barretta che si riempie. 10%, 40%, 90%, fatto.

Una barra di avanzamento. La cosa più innocua dell'universo. La stessa che sta al 99% da quaranta minuti mentre installate gli aggiornamenti di Windows.

Quanto preoccuparsi

Prima la buona notizia, che è rara e va goduta. PHP stesso la considera un rischio improbabile, e a oggi non risultano attacchi che la sfruttino: quelli in giro dal 21 ottobre puntano tutti a PHP2Shell.

Il motivo è che servono condizioni molto precise, tutte insieme:

  • l'applicazione imposta session.serialize_handler su php_binary o php_serialize nella configurazione;
  • poi, mentre gira, lo cambia in php con ini_set() prima di chiamare session_start();
  • e la barra di avanzamento delle sessioni è rimasta accesa, come di fabbrica.

Ora la notizia meno buona: "cambiare il formato delle sessioni a metà strada con ini_set()" è esattamente il tipo di genialata che trovate in un gestionale scritto nel 2009 da un consulente che non risponde più al telefono. Se il vostro codice è normale, siete tranquilli. Ma voi lo sapete se il vostro codice è normale? Voi lo avete letto?

Cosa fare finché manca la correzione

Il consiglio ufficiale è spegnere la funzione. Va fatto in un posto che vale prima che arrivi la richiesta: il php.ini, il pool di PHP-FPM o la configurazione del server. Non con ini_set() dentro il codice, che arriva troppo tardi.

session.upload_progress.enabled = 0

Poi riavviate PHP (o il server web, o il pool di PHP-FPM, a seconda di come è montato il vostro presepe).

Effetti collaterali: se il vostro sito usa davvero quella barretta, la barretta smette di funzionare. I vostri utenti caricheranno i file senza sapere a che punto sono, come si faceva una volta, con fede.

Il riassunto per chi ha fretta

  1. Cercate serialize_handler nel codice, per capire se siete tra i pochi colpiti.
  2. In ogni caso, nel php.ini (o nel pool FPM) mettete session.upload_progress.enabled = 0.
  3. Riavviate.
  4. Controllate che il sito funzioni ancora.
  5. Tenete d'occhio l'uscita della correzione vera, e quando arriva aggiornate.

Spegnete la barretta. Nessuno è mai morto per non sapere a che percentuale era il suo upload.

Fonti

  1. CERT-EU, Critical Vulnerabilities in PHP (avviso 2026-018)
  2. BleepingComputer, PHP shares mitigation for new and unpatched RCE vulnerability
  3. The Hacker News, PHP Warns of Another Unpatched RCE Risk Two Days After Emergency PHP2Shell Patches
  4. SOC Prime, CVE-2026-115560: Unpatched PHP RCE Vulnerability