Sicurezza
CVE-2026-109618 e CVE-2026-109619: Due Vulnerabilità Critiche in PHP, Cosa Fare Subito
Il 21 ottobre 2026, il team di sicurezza PHP ha rilasciato patch critiche per due vulnerabilità di esecuzione di codice remoto (RCE): CVE-2026-109618 e CVE-2026-109619. Entrambe hanno un punteggio CVSS di 9.2 (critico) e riguardano server Apache con mod_php. Se usi PHP, questo articolo ti spiega cosa sono, chi è a rischio e cosa fare.
Le due vulnerabilità in breve
CVE-2026-109618: RCE da corruzione di memoria dopo OOM
Cosa è: Un difetto nel garbage collector di PHP. Quando il server esaurisce la memoria (Out Of Memory), il garbage collector non pulisce correttamente gli oggetti, lasciando puntatori a memoria deallocata. Un attaccante può sfruttare questa memoria corrotta per eseguire codice arbitrario.
Impatto: RCE non autenticato — l'attaccante non ha bisogno di credenziali. Può accedere a database, file di configurazione, chiavi API, e compromettere interamente il sito.
CVE-2026-109619: RCE da stato globale residuo
Cosa è: Un difetto nel gestore delle richieste HTTP di PHP. Quando una richiesta termina, lo stato globale (variabili globali, oggetti in memoria) non viene sempre pulito correttamente. Una richiesta successiva può accedere a questo stato residuo e, con una sequenza specifica, eseguire codice.
Impatto: RCE non autenticato. Pericoloso su hosting condiviso dove il codice di un cliente può sfruttare lo stato di un altro cliente.
Chi è a rischio
| Configurazione | Rischio | Dettagli |
|---|---|---|
| Apache + mod_php | ALTISSIMO | Entrambe le CVE sono facilmente sfruttabili. Secondo CERT-AgID, è la configurazione più esposta. |
| Apache + PHP-FPM | MEDIO | Le vulnerabilità rimangono, ma con PHP-FPM l'isolamento dei processi limita i danni. Vedere mod_php vs PHP-FPM. |
| Nginx + PHP-FPM | MEDIO | Le CVE riguardano il core di PHP, quindi colpiscono anche Nginx. Ma l'isolamento è migliore. |
| Versioni PHP < 8.2 | VULNERABILE | PHP 8.1 e precedenti non riceveranno patch (sono fuori dal support). Migrazione urgente necessaria. |
Versioni vulnerabili e patchate
Vulnerabili:
- PHP 8.5.0 fino a 8.5.11
- PHP 8.4.0 fino a 8.4.26
- PHP 8.3.0 fino a 8.3.35
- PHP 8.2.0 fino a 8.2.34
- PHP 8.1 e precedenti (fuori da support)
Patchate (rilasciate il 21 ottobre 2026):
- PHP 8.5.12
- PHP 8.4.27
- PHP 8.3.36
- PHP 8.2.35
Come aggiornare PHP
Su Debian/Ubuntu
# 1. Controlla la versione attuale
php -v
# 2. Aggiorna i package
sudo apt update && sudo apt upgrade
# 3. Se apt non ha le versioni patchate, usa un PPA
sudo add-apt-repository ppa:ondrej/php
sudo apt update && sudo apt upgrade
# 4. Riavvia il web server
sudo systemctl restart apache2
# oppure per PHP-FPM:
sudo systemctl restart php8.4-fpm
Su CentOS/RHEL
sudo yum update php
sudo systemctl restart httpd
Su hosting gestito (Plesk, cPanel, etc)
La procedura dipende dal provider. Di solito:
- Accedi al pannello di controllo (Plesk, cPanel, DirectAdmin)
- Vai in "Software" o "Package Manager"
- Cerca PHP e seleziona la versione patchata (8.2.35, 8.3.36, etc)
- Avvia l'upgrade
- Attendi il riavvio del web server
⚠️ Su hosting condiviso: contatta il provider se l'aggiornamento non è disponibile nel pannello. Insisti: la vulnerabilità è critica.
Se non puoi aggiornare subito: mitigazioni temporanee
Se aggiornare richiede un downtime prolungato o dipendi da plugin incompatibili, applica queste mitigazioni mentre prepari l'upgrade (non sono sostituzioni permanenti):
1. Web Application Firewall (WAF)
Cloudflare, AWS WAF, Incapsula o simili possono bloccare una parte degli attacchi. Non è una protezione completa, ma riduce l'esposizione.
Cloudflare (gratuito):
- Cambia i NS del tuo dominio verso Cloudflare
- Abilita "Web Application Firewall" nel dashboard
- Attiva le regole di sicurezza predefinite
2. Disabilita mod_php se non serve
Se stai usando PHP-FPM o Nginx, disabilita mod_php in Apache per ridurre la superficie d'attacco:
sudo a2dismod php8.2
sudo systemctl reload apache2
3. Limita l'accesso ai file sensibili
Nel .htaccess aggiungi:
<FilesMatch "\.(env|config|sql)$">
Deny from all
</FilesMatch>
4. Monitoraggio dei log
Controlla i log di Apache e PHP per attacchi falliti:
tail -f /var/log/apache2/error.log
tail -f /var/log/php-fpm.log
Cerca pattern sospetti: tentate inclusioni di file (`include`, `require`), esecuzione di comando (`exec`, `system`), accessi a variabili globali.
Timeline di sfruttamento noto
- 21 ottobre 2026: PHP rilascia le patch. CERT-AgID emette un avviso.
- 22 ottobre 2026: Alcune società di sicurezza segnalano che non è stato ancora osservato sfruttamento massivo in the wild, ma è una questione di ore.
- 23-24 ottobre: (previsione) Proof of Concept pubblici iniziano a circolare. Attacchi automatizzati aumentano.
Conclusion: Non è il momento di aspettare. Se non aggiorna entro 24-48 ore, assumi che il tuo sito sia a rischio concreto di compromissione.
Dopo l'aggiornamento: verifica che sia stato applicato
# Controlla la versione
php -v
# Se vedi "PHP 8.2.35+" (o 8.3.36+, etc) la patch è applicata correttamente
# Se vedi ancora "PHP 8.2.34", l'upgrade non è stato completato
Se l'aggiornamento ha fallito, controlla i log del package manager:
apt log | tail -20
# oppure
yum history
Contatta il supporto tecnico del tuo sito
Se non sai come aggiornare PHP o se il tuo hosting non ha ancora le patch disponibili, contattaci per una consulenza urgente. Le vulnerabilità critiche richiedono una risposta rapida.
Continua a leggere
Hai un progetto in mente?
Raccontami cosa ti serve: ti propongo la soluzione web più adatta alle tue esigenze.
Contattami I miei servizi