
WordPress 7.1.2 corregge una vulnerabilità critica
WordPress ha rilasciato la versione 7.1.2 il 22 settembre per chiudere una falla critica che può permettere a un attaccante senza account di caricare file PHP al di fuori delle cartelle dei temi e, su alcuni server, di eseguire codice.
WordPress ha rilasciato la versione 7.1.2 per correggere una vulnerabilità critica nel software core, e il progetto invita i proprietari dei siti ad aggiornare subito. La falla, tracciata come CVE-2026-87902 e con un punteggio CVSS di 9.2, permette a un attaccante senza account e senza alcuna azione da parte di un utente connesso di far caricare a un sito un file PHP al di fuori delle sue cartelle dei temi. Su alcuni server la cosa può spingersi oltre, perché secondo WordPress l'attaccante può eseguire codice proprio. WordPress classifica la falla come critica.
La patch è stata distribuita il 22 settembre, meno di una settimana dopo che WordPress aveva rilasciato la 7.1.1 il 17 settembre nell'ambito di un precedente aggiornamento di sicurezza. Anche quella versione 7.1.1 è interessata, quindi chi l'ha installata deve comunque installare questa nuova. Tutte le versioni dalla 4.7.0 alla 7.1.1 sono interessate. Poiché WordPress non offre una soluzione alternativa separata, l'aggiornamento è la correzione. I siti con gli aggiornamenti automatici in background attivi avvieranno l'aggiornamento da soli. Gli altri possono aggiornare dalla dashboard alla voce Aggiornamenti, oppure scaricare la release da WordPress.org.
La versione a cui aggiornare dipende dal ramo su cui gira il sito. I siti su 7.1.x devono aggiornare alla 7.1.2, quelli su 7.0.x alla 7.0.6, su 6.9.x alla 6.9.9, su 6.8.x alla 6.8.10, su 6.7.x alla 6.7.9 e su 6.6.x alla 6.6.9. WordPress ha retroportato la correzione a ogni ramo più vecchio ancora supportato, per cortesia, fino alla 4.7.37. L'elenco completo è nelle note di rilascio.
La falla di fondo riguarda il modo in cui WordPress sceglie il file di template per una pagina. Uno dei nomi di file che costruisce deriva da una parte dell'indirizzo web. Nelle versioni interessate WordPress non faceva passare quel valore attraverso il proprio controllo per i passaggi di tipo ../, il controllo che il codice vicino usava già. In parole semplici, un passaggio di tipo traversal permette a una richiesta di puntare a un file al di fuori della cartella che il sito intendeva usare. Poiché il nome del file viene costruito come page-{valore}.php, un attacco funzionante richiede anche che il tema attivo abbia una cartella di primo livello il cui nome inizi con page-, e che il file di destinazione termini in .php. Alcuni temi, tra cui i vecchi temi predefiniti di WordPress, includono una cartella che soddisfa questo requisito, mentre i temi predefiniti attuali no.
Anche quando il traversal è possibile, caricare un file PHP locale esegue ciò che quel file già fa. Trasformarlo in codice scelto dall'attaccante richiede una seconda condizione: il server deve già avere un file PHP che faccia qualcosa di utile quando viene caricato. È il "su alcuni server" della descrizione di WordPress, e spiega perché la falla non significa esecuzione completa di codice su ogni sito interessato.
Il fornitore di sicurezza Patchstack, nella sua analisi, afferma che due controlli dicono a un proprietario di sito quanto è esposto. Il primo è se il tema attivo ha una cartella di primo livello il cui nome inizia con page-. Il secondo è se PHP è in esecuzione con un'impostazione chiamata register_argc_argv attiva, una nota tecnica di esecuzione di codice dipende da quell'impostazione. Patchstack osserva che nessuno dei due è una correzione, ma entrambi mostrano quanto un sito sia vicino al caso peggiore. Quell'impostazione è disattivata per impostazione predefinita su PHP 8.5 e attiva per impostazione predefinita sulle versioni PHP più vecchie.
WordPress ha attribuito a Robert Ressl la scoperta della falla, che lui ha divulgato privatamente tramite il suo programma HackerOne a luglio. Quando la correzione è stata distribuita, Ressl ha pubblicato un'analisi dettagliata, insieme a una proof-of-concept e a un laboratorio di test autonomo. L'attacco da lui dimostrato eseguiva codice con i privilegi dell'account del web server, non il pieno controllo del server, e l'ha testato contro WordPress 7.0.2 in laboratori locali isolati, non contro la release corretta o un sito live. Ressl afferma che gli operatori che non possono aggiornare immediatamente possono ridurre la via verso l'esecuzione di codice disattivando register_argc_argv per le richieste web e rimuovendo i componenti PEAR inutilizzati, anche se nessuna delle due cose ripara la falla di fondo.
Al 22 settembre non c'erano segnalazioni di utilizzo della falla in attacchi, e non aveva alcuna voce nel catalogo delle vulnerabilità sfruttate note della CISA statunitense. WordPress e Ressl sono stati contattati per un commento. Per i proprietari di siti web, il compito immediato è confermare che l'aggiornamento sia stato applicato, perché non esiste una soluzione alternativa e gli aggiornamenti automatici in background potrebbero essere ancora in corso. AEU Hosting offre hosting WordPress gestito e protetto end to end, e i proprietari di siti possono consultare quella pagina di servizio per vedere come vengono gestite per loro le release di sicurezza come WordPress 7.1.2.
Come Proteggerti
- Aggiorna subito il tuo sito WordPress dalla pagina Aggiornamenti della dashboard, scegliendo la versione mostrata per il tuo ramo, come la 7.1.2 o la retroportazione corrispondente.
- Attiva gli aggiornamenti automatici in background se non sono già abilitati, così le future release di sicurezza si installano senza che tu debba ricordartelo.
- Controlla quale versione di WordPress sta usando il tuo sito, perché anche la versione 7.1.1 del 17 settembre ha ancora bisogno di questo nuovo aggiornamento.
- Se usi un provider di hosting WordPress gestito, chiedigli di confermare che l'aggiornamento di sicurezza WordPress 7.1.2 sia stato applicato al tuo sito.
- Se non puoi aggiornare oggi, chiedi al tuo sviluppatore web di seguire i passaggi temporanei di riduzione del rischio descritti dal ricercatore, tra cui disattivare un'impostazione chiamata register_argc_argv per le richieste web e rimuover
Vulnerabilità e Soluzioni
- CVE-2026-87902 CVE-2026-87902 is a critical WordPress core flaw fixed in version 7.1.2 and backported releases down to 4.7.37. Vedi la soluzione e i dettagli →
I Termini Spiegati
- WordPress core Il software principale che fa funzionare un sito WordPress, separato da temi e plugin.
- PHP file Un file che contiene codice che un web server può eseguire quando viene richiesta una pagina.
- Theme folder Una cartella all'interno di un sito WordPress in cui sono memorizzati i file di design.
- Path traversal Un modo di scrivere un indirizzo web in modo che punti a un file al di fuori della cartella che un sistema intendeva aprire.
- CVSS Un sistema di punteggio che valuta quanto è grave una falla di sicurezza da 0 a 10.
- register_argc_argv Un'impostazione del server PHP che controlla come il server passa argomenti in stile riga di comando agli script web.
- PEAR components Librerie di codice PHP opzionali che alcuni server installano ma che molti siti web non usano.
- Web-server account L'identità utente limitata con cui viene eseguito un web server, separata da un account amministratore completo sulla macchina.