PHP2Shell: aggiornare PHP e sapere dove gira
Il 21 ottobre il progetto PHP ha rilasciato le versioni 8.5.12, 8.4.27, 8.3.36 e 8.2.35, che correggono due vulnerabilità critiche nel nucleo del linguaggio: CVE-2026-109618 e CVE-2026-109619, con punteggio CVSS 9.2, già indicate dai ricercatori con il nome PHP2Shell. Entrambe possono permettere a chi non dispone di alcuna credenziale di eseguire codice sul server.
La prima riguarda l'esaurimento della memoria. Quando una richiesta supera il limite impostato, PHP la interrompe anche a metà della preparazione dei dati, e la pulizia successiva tratta come validi dati inizializzati solo in parte. La seconda riguarda lo stato interno di una richiesta, che può sopravvivere alla memoria che lo conteneva ed essere riusato dalla richiesta successiva gestita dallo stesso processo. Secondo l'avviso del progetto PHP sono esposte tutte le installazioni che rispondono a richieste web (PHP-FPM, Apache con mod_php, php-cgi, FrankenPHP, LiteSpeed); con mod_php una sola richiesta basta, prima ancora che parta il codice dell'applicazione.
Sul piano tecnico la correzione completa è una sola, l'aggiornamento. Le misure temporanee indicate dal progetto, cioè memory_limit=-1 e session.upload_progress.enabled=0 con il riavvio dei processi, chiudono soltanto alcuni percorsi d'attacco. I rami 8.1 e precedenti non ricevono più rilasci ufficiali e restano esposti, salvo correzioni applicate ai sorgenti. Conviene inoltre leggere i log dei giorni precedenti all'annuncio: Amazon Threat Intelligence, citata da Tenable, colloca i primi tentativi di sfruttamento al 17 ottobre.
Sul piano del governo conta sapere dove gira PHP. Il linguaggio sta dentro molti prodotti che non lo dichiarano: gestionali, portali, siti istituzionali, apparati, servizi in hosting. CERT-EU lo scrive espressamente nel suo avviso, ricordando che possono essere coinvolti anche prodotti che non espongono un'installazione PHP. Chi dispone di un inventario aggiornato dei sistemi e delle loro componenti sa già dove intervenire; chi non lo ha deve chiederlo ai fornitori e attenderne le risposte, mentre i primi tentativi di sfruttamento sono già stati osservati. Per i soggetti NIS 2 il caso tocca due misure dell'articolo 24, comma 2, del D.Lgs. 138/2024: la sicurezza della catena di approvvigionamento, alla lettera d), e la gestione delle vulnerabilità nella manutenzione dei sistemi, alla lettera e).
Nella vostra organizzazione, chi è in grado di dire oggi su quali sistemi, propri o dei fornitori, gira PHP e in quale versione?