Home Sicurezza Informatica Allerta per vulnerabilità critiche in PHP: patch obbligatoria per evitare exploit

Allerta per vulnerabilità critiche in PHP: patch obbligatoria per evitare exploit

0
1
Allerta per vulnerabilità critiche in PHP: patch obbligatoria per evitare exploit
Tanium alert page

security

PARTNER CONTENT: Scopri quali sono le vulnerabilità, quanto è stata estesa l’esploitation e come ottenere una copertura totale rapidamente con Tanium.

Se utilizzi PHP nel tuo ambiente, è fondamentale aggiornare immediatamente alle versioni 8.5.12, 8.4.27, 8.3.36 o 8.2.35. Due vulnerabilità critiche, identificate come CVE-2026-109618 e CVE-2026-109619 (note come “PHP2Shell”), consentono a un attaccante non autenticato di eseguire codice su un server semplicemente inviando una richiesta web costruita ad-hoc. Entrambe le vulnerabilità hanno un punteggio CVSS v4.0 di 9.2 e coinvolgono tutte le versioni precedenti. È stata già segnalata attività di exploitation in ambienti reali.

L’applicazione delle patch è il passo più semplice. La sfida maggiore è identificare ogni copia di PHP in uso, poiché PHP può trovarsi in luoghi inaspettati. Questo articolo esplorerà quali sono le vulnerabilità, la loro diffusione e come ottenere una copertura totale rapidamente.

Pagina di avviso di Tanium

Cosa è successo

I dettagli delle vulnerabilità sono trapelati prima del previsto, costringendo il team di sicurezza PHP ad agire rapidamente, rilasciando le patch in meno di un giorno dall’annuncio.

Quando (UTC) Evento
21 Ottobre, 14:17 Pubblicazione di CVE-2026-109618 da parte di NVD, contrassegnato come “In analisi”
21 Ottobre, 14:04 Aggiornamento del catalogo CISA KEV non include nessun CVE
21 Ottobre, ~14:00 PHP pubblica l’avviso ufficiale e rilascia 8.5.12, 8.4.27, 8.3.36 e 8.2.35
21 Ottobre, 13:47 Appaiono i build per Windows corretti su downloads.php.net
21 Ottobre watchTowr riporta exploitation osservata nella sua rete di honeypot
20 Ottobre CERT-EU emette l’avviso 2026-018, consigliando l’isolamento delle applicazioni PHP esposte a Internet
20 Ottobre PHP annuncia un rilascio di sicurezza d’emergenza dopo la fuga di notizie; watchTowr conferma che le vulnerabilità sono reali

Le due vulnerabilità

Entrambi i bug risiedono nel core di PHP, non in alcun framework o plugin, quindi possono colpire qualsiasi applicazione che utilizza PHP per servire richieste web.

CVE Cosa va storto RCE validata su
CVE-2026-109618 Corruzione della memoria attraverso condizioni di esaurimento della memoria durante la parsing di richieste multipart (upload di file) mod_php
CVE-2026-109619 Un use-after-free nella richiesta successiva a un errore fatale mod_php, PHP-FPM

Le configurazioni server interessate includono PHP-FPM, mod_php, php-cgi, FrankenPHP e LiteSpeed, con mod_php classificato da PHP come il rischio più alto. Non è necessario alcun login: l’attaccante deve solo raggiungere un endpoint PHP tramite HTTP.

Versioni corrette: 8.5.12, 8.4.27, 8.3.36 e 8.2.35. Tutte le versioni precedenti sono affette. PHP ha anche pubblicato backport minimi per le versioni 7.4, 8.0 e 8.1, ma non ci sono rilasci ufficiali per questi rami. Tratta un backport come una misura temporanea e pianifica l’aggiornamento.

Sta avvenendo exploitation?

Sì, anche se exploit pubblici affidabili sono ancora rari. watchTowr riporta exploitation nella sua rete di honeypot a partire dal 21 ottobre, e Tenable riporta il CTO di Cloudflare affermando che la società sta osservando attacchi iniziali. Altre telemetrie, come quella di Patchstack, mostrano al momento principalmente attività di probing. Nessuno dei due CVE è ancora presente nel catalogo KEV di CISA, e non sono stati rilasciati indicatori pubblici di compromissione.

La difficoltà di sfruttare il bug dipende dalla piattaforma. VulnCheck ha riprodotto entrambi i difetti e ha trovato:

  • La code execution funziona su ARM64, e su sistemi x86 dove l’address space layout randomization (ASLR) è disattivato.

  • Esistono decine di proof-of-concept pubblici, ma pochissimi funzionano, e nessuno bypassa ASLR su x86-64.

  • Red Hat valuta anche RCE come difficile da realizzare effettivamente su distribuzioni PHP-FPM predefinite.

Non considerare questo come un permesso per aspettare. Gli exploit maturano rapidamente una volta che le patch sono pubbliche, e repository di PoC falsi per CVE di rilievo spesso contengono malware; dunque, tratta con cautela qualsiasi risorsa tu possa trovare. La ricerca di Tanium sull’exploitabilità è disponibile in Why PHP2Shell is real(opens in a new tab).

Coloro che sono più a rischio: le applicazioni PHP esposte a Internet, in particolare quelle che utilizzano mod_php o sono su host ARM64. È anche consigliabile eseguire ricerche retrospettive nei log recenti del server web e di PHP-FPM per individuare crash imprevisti dei worker e richieste multipart insolite.

Perché trovare PHP è più difficile di quanto sembri

Nessuno ha un elenco completo delle applicazioni basate su PHP, e qualsiasi applicazione costruita su misura non sarà presente in nessun elenco. PHP può trovarsi in diversi luoghi contemporaneamente:

  • Pacchetti OS su Linux (php, php-fpm, php8.x), che i gestori di pacchetti e la maggior parte degli strumenti di inventario riconoscono.

  • Homebrew e simili su macOS, al di fuori dell’elenco dei pacchetti di sistema.

  • Copie incluse con Windows. PHP su Windows di solito viene distribuito in formato zip estratto in una cartella o all’interno di un pacchetto come XAMPP, WampServer, Laragon o un prodotto di un fornitore. Spesso non viene nemmeno registrato come un’applicazione installata.

  • Applicazioni che includono la propria copia di PHP, dove la correzione dipende dal fornitore dell’applicazione piuttosto che dal sistema operativo.

  • Container, dove la versione è codificata nel tag dell’immagine.

PHP è spesso più diffuso di quanto i team si aspettino e non gira solo sui server. Strumenti per developer, stack web locali e applicazioni incluse lo posizionano anche sui workstation, spesso senza registrazione come applicazione installata.

La risposta più affidabile è guardare i binari stessi. Durante i test, le build di PHP dalla versione 5 alla 8 contengono la loro stringa di versione (X-Powered-By: PHP/x.y.z), quindi puoi leggere esattamente la versione direttamente dal file senza eseguirlo.

Come Tanium può aiutare

Tanium stesso non è affetto. Tanium non utilizza PHP, quindi non ci sono impatti sui software Tanium o sui servizi Tanium Cloud.

Il contenuto di Tanium Guardian per PHP2Shell è già disponibile in Tanium Cloud. Il dashboard mostra dove PHP è installato e in esecuzione, consentendo di prioritizzare le patch, con un conteggio unico e globale degli endpoint con PHP vulnerabile su Linux, Windows e macOS. Combina:

  • I sensori esistenti delle Applicazioni Installate e delle Applicazioni Homebrew, che trovano PHP installato tramite gestori di pacchetti su macOS e Linux.

  • Un sensore per le Installazioni di PHP su Windows che trova PHP dove le Applicazioni installate non possono vederlo, inclusi IIS, XAMPP, WampServer, Laragon, gestori di pacchetti e copie estratte manualmente, riportando la versione, il tipo di installazione, il percorso di installazione e l’utente proprietario. La versione è letta dai metadati del file binario senza eseguirlo.

  • Una Domanda Salvata pre-costruita che elenca i processi PHP in esecuzione, in modo da poter prioritizzare i sistemi che potrebbero servire traffico.

  • Una Domanda Salvata pre-costruita che identifica i container PHP, abbinando i container in esecuzione a php, FrankenPHP e circa 25 immagini comuni basate su PHP come WordPress, Drupal, Joomla, Nextcloud e Magento. Richiede Tanium Cloud Workloads.

Tanium Comply trova PHP su disco. Per i clienti licenziati per Comply, il dashboard include i risultati di PHP2Shell per endpoint, con dettagli completi e un trend di 7 giorni, con una selezione alla pagina dei risultati di Comply filtrati sui due CVE. I dettagli del rapporto mostrano le specifiche posizioni su disco in cui è stato trovato PHP, catturando copie che gli inventari di pacchetti e registri mancano. Le definizioni della Vulnerability Library per Windows, Linux e macOS sono già attive — sincronizza il TVL e esegui una valutazione per ottenerle.

I clienti on-premises possono importare manualmente il contenuto di Guardian già oggi. Passaggi e download sono disponibili nel centro assistenza di Tanium(opens in a new tab).

Conosci quali sono esposti su internet. Oltre 13 milioni di asset esposti su internet eseguono versioni di PHP che potrebbero essere vulnerabili, secondo Censys Internet Intelligence. La gestione della superficie di attacco esterna di Tanium (EASM) scopre gli asset esposti su Internet legati alla tua organizzazione e identifica i servizi PHP, le versioni e le proprietà web tra di essi, con questi CVE emersi attraverso la sua copertura di vulnerabilità sfruttabili e armate. La mappatura del percorso di attacco di Tanium mostra quindi quali di quegli asset esposti condividono un punto di esposizione con un’istanza cloud, ruolo o identità privilegiata: i luoghi in cui un server PHP compromesso diventa una via d’accesso più profonda nel tuo ambiente.

Stai già usando Tanium SBOM? Inventariare le versioni di PHP lì è un buon passo iniziale. Mostra quali applicazioni portano un PHP vulnerabile e necessitano di un aggiornamento del fornitore.

Cosa fare ora

Passa attraverso questi punti in ordine; i primi tre sono i più importanti da affrontare oggi.

  1. Trova ogni installazione di PHP, comprese le copie su Windows che non si sono mai registrate come applicazioni. Registra l’esatta versione di ciascuna.

  2. Classifica per esposizione. I server esposti a Internet, le configurazioni mod_php e gli host ARM64 vengono prima.

  3. Patch a 8.5.12, 8.4.27, 8.3.36 o 8.2.35 attraverso il tuo fornitore di OS, un build di php.net o il tuo fornitore di applicazione. Riavvia PHP-FPM e i worker del server web affinché il nuovo binario venga caricato.

  4. Se non puoi patchare ancora, isola le app PHP esposte a Internet dove possibile, come consigliato da CERT-EU, e applica regole WAF o IDS davanti a esse (Cloudflare e VulnCheck hanno entrambi rilasciato regole per i vettori noti).

  5. Applica il settaggio parziale con cautela. session.upload_progress.enabled=0 blocca un percorso dimostrato per la CVE-2026-109619 solo e non fa nulla per la CVE-2026-109618. Deve essere impostato in php.ini, in un pool FPM o nella configurazione del server, seguito da un riavvio del worker; ini_set() e .user.ini non applicheranno questa impostazione.

  6. Caccia. Rivedi i log recenti del server web e di PHP-FPM per crash dei worker e upload multipart malformati.

  7. Pianifica l’abbandono di PHP a fine vita. Qualsiasi cosa sulle versioni 8.1 o precedenti non ha rilasci corretti ufficiali.

Dove si trovano i pacchetti corretti (al 21 Ottobre, 16:30 UTC)

I pacchetti per le distribuzioni stanno ancora venendo rilasciati, quindi controlla con il tuo fornitore prima di assumere che una correzione sia disponibile.

Piattaforma Stato
Ubuntu 22.04, 24.04, 26.04, 26.10 Fissato (USN-8948-1)
Ubuntu 20.04 Fissato solo per gli abbonati a Ubuntu Pro
Debian 12 e 13 Fissato
Windows (build php.net) Fissato
Immagini ufficiali di Docker per PHP Tag fissi 8.5.12, 8.4.27, 8.3.36, 8.2.35
cPanel EasyApache 4 Fissato in 25.91
Plesk per Linux Fissato; Plesk per Windows attesa
RHEL 8, 9, 10 e ricostruzioni Pendente
SUSE, Alpine, Chocolatey, Homebrew core Pendente
Amazon Linux 2023 Pendente per php8.2 a 8.5; nessuna correzione pianificata per php8.1

Il repository Remi non rilascerà aggiornamenti oggi, quindi PHP consiglia di passare a pacchetti di distribuzione o compilarli da sorgente se dipendi da esso.

Leggi di più qui.

Fornito da Tanium

LEAVE A REPLY

Please enter your comment!
Please enter your name here