← Tutti gli articoli

WordPress 7.1.2 corregge una vulnerabilità critica

WordPress 7.1.2 corregge una vulnerabilità critica

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.

Disponibile anche in: EnglishDeutschShqip