Esiste un workaround per CVE-2026-109618 e CVE-2026-109619?
Solo parziale, e nessuno è una correzione. L’advisory di PHP dice che solo un aggiornamento è una soluzione completa e che le misure indicate riducono l’esposizione a percorsi d’attacco specifici, ma non rendono sicura un’installazione. Per CVE-2026-109619, l’advisory di GitHub aggiunge che non esiste una mitigazione generica completa via configurazione. Usa queste impostazioni solo per guadagnare tempo finché non installi la patch PHP2Shell.
Quali sono le misure temporanee ufficiali?
| Impostazione | Per | Cosa blocca | Effetti collaterali |
|---|---|---|---|
memory_limit=-1 (così che le applicazioni non possano sovrascriverlo) | CVE-2026-109618 | Il fallimento controllabile del limite di memoria di PHP. Un fallimento di allocazione sottostante può comunque raggiungere il codice vulnerabile. | I processi PHP possono usare memoria illimitata; tieni d’occhio le risorse del server. |
post_max_size basso: 8M se non ti servono upload, 32M se ti servono | CVE-2026-109618 | Riduce la quantità di dati di richiesta che si possono spingere dentro PHP | Upload e moduli più grandi falliscono. |
session.upload_progress.enabled=0 | CVE-2026-109619 | I percorsi confermati tramite le sessioni, non altre varianti | Le funzioni di avanzamento upload possono smettere di funzionare. |
fatal_error_backtraces=0 (solo PHP 8.5) | CVE-2026-109619 | Solo il percorso confermato tramite i backtrace degli errori fatali | Meno dettagli diagnostici nei log degli errori. |
Ognuna di queste impostazioni ha effetto solo dopo il riavvio di tutti i worker PHP. PHP avverte inoltre di non sostituirle con limiti RLIMIT_AS o RLIMIT_DATA, che possono provocare proprio il fallimento di allocazione vulnerabile, e ricorda che nascondere gli errori con error_reporting, display_errors o @ non serve.
Come applico correttamente il workaround session.upload_progress?
L’impostazione deve avere effetto prima che PHP analizzi la richiesta:
- Imposta
session.upload_progress.enabled=0inphp.ini, nella configurazione del pool PHP-FPM o nella configurazione del web server. - Non usare
ini_set()nel codice né un file.user.inidi FPM: agiscono troppo tardi. - Riavvia tutti i worker PHP (tutti i pool PHP-FPM, oppure Apache se usi mod_php). I worker non riavviati continuano con le impostazioni vecchie.
Sull’hosting condiviso di solito non puoi modificare queste impostazioni: chiedi al tuo provider, oppure fatti installare la patch da lui.
“Il mio sito non ha upload” vale come workaround?
No. I percorsi d’attacco stanno nella gestione delle richieste di PHP, non nel modulo di upload del tuo sito, quindi un sito senza upload non è automaticamente al sicuro. Per questo l’impostazione ufficiale è un’opzione di PHP a livello di server e non un interruttore dell’applicazione.
Un WAF come Cloudflare conta come workaround?
No. È un livello in più, non una correzione. Cloudflare ha attivato automaticamente regole WAF su tutti i piani con WAF, Free compreso, circa nove ore prima della divulgazione, e ha segnalato attaccanti che modificavano i payload per aggirarle. Un WAF filtra solo il traffico che lo attraversa, e il PHP del tuo server resta vulnerabile.
Un plugin di manutenzione funziona come workaround?
Non in modo affidabile. Anche la pagina di manutenzione di WordPress è servita da PHP, e alcuni percorsi d’attacco avvengono prima che il codice dell’applicazione venga eseguito. Per interrompere l’esposizione senza patch, blocca le richieste prima che arrivino a PHP oppure metti il sito offline, come hanno consigliato diverse agenzie nazionali per i siti che non si possono aggiornare.
Per quanto tempo posso affidarmi a un workaround?
Solo finché non puoi aggiornare, idealmente pochi giorni. Le correzioni e le analisi tecniche sono pubbliche, e Sansec si aspetta uno sfruttamento di massa. Pianifica subito l’aggiornamento. Controlla a che punto sei con il verificatore PHP2Shell e leggi CVE-2026-109618 e CVE-2026-109619 per i dettagli di ciascuna falla.
Quali fonti sostengono questa pagina?
- The PHP Group: advisory di sicurezza con le mitigazioni
- Advisory GitHub GHSA-w8hw-w9fx-j79w
- Advisory GitHub GHSA-6wmf-4rv5-p3rp
- Cloudflare: protezioni WAF
- Sansec: ricerca su PHP2Shell
Verifica se il tuo PHP è esposto a PHP2Shell
Inserisci la versione indicata dal tuo sito. La confrontiamo con la prima versione corretta del suo ramo e ti diciamo cosa fare.
Verificatore PHP2Shell →Fonti
I fatti principali di questa pagina (versioni corrette, dettagli dei CVE, pacchetti dei fornitori e avvisi delle agenzie) provengono da fonti ufficiali. Ricerche, notizie e post della community sono indicati come tali.
- Security advisory: Critical remote code execution vulnerabilities, update nowUfficiale The PHP Group
- RCE via OOM corruptionUfficiale The PHP Group
- RCE via stale global stateUfficiale The PHP Group
- Cloudflare deploys protections against php2shell vulnerabilityFornitore CDN Cloudflare
- PHP2Shell: Critical PHP RCE (CVE-2026-109618, CVE-2026-109619)Ricerca Sansec