WordPress 7.0.2 Corregge Critica SQL Injection Non Autenticata

WordPress 7.0.2 Corregge Critica SQL Injection Non Autenticata

WordPress 7.0.2 corregge una SQL injection non autenticata raggiungibile tramite l'endpoint batch dell'API REST, con tentativi di sfruttamento già osservati in natura.

WordPress 7.0.2 corregge una vulnerabilità critica di SQL injection non autenticata che, se combinata con un difetto di confusione delle route dell'API REST, potrebbe consentire agli attaccanti di assumere il pieno controllo di un sito web, secondo la società di sicurezza Patchstack. La release, distribuita il 17 luglio 2026, affronta due problemi distinti che insieme creano una catena di esecuzione remota di codice. Patchstack ha verificato separatamente che le vulnerabilità combinate possono portare alla completa compromissione del sito e sta già osservando tentativi di sfruttamento attivi nei suoi log.

Le due vulnerabilità sono tracciate come CVE-2026-60137 per la SQL injection in WP_Query e CVE-2026-63030 per la confusione batch route/handler dell'API REST. Il primo problema riguarda le versioni di WordPress dalla 6.8 alla 7.0.1, mentre il secondo è stato introdotto nella 6.9 e riguarda anche fino alla 7.0.1. Il team principale di WordPress ha rilasciato correzioni in tre rami: WordPress 7.0.2 corregge entrambi, 6.9.5 è un backport di entrambi al ramo 6.9, e 6.8.6 non è affetto dalla confusione delle route ma include la patch per la SQL injection. Poiché la vulnerabilità è non autenticata e sfruttabile su larga scala, WordPress ha effettuato un aggiornamento forzato sui siti interessati, ma i proprietari dei siti dovrebbero comunque verificare di essere su una versione patchata.

Il difetto di SQL injection, segnalato dai ricercatori TF1T, dtro e haongo, risiede in come WP_Query, la classe di WordPress che costruisce le query del database, gestisce la variabile di query author__not_in. Nelle versioni interessate, il codice sanitizzava l'input solo quando arrivava come array. Se un attaccante riesce a far arrivare il valore come stringa, la sanitizzazione intera viene completamente saltata. La stringa grezza viene poi convertita in array, unita e inserita direttamente nella clausola SQL WHERE senza un adeguato escaping o parametrizzazione. Da sola, questa non è normalmente raggiungibile perché l'API REST valida il parametro author_exclude come array di interi. Ma la seconda vulnerabilità cambia quel percorso di elaborazione.

Il difetto critico dell'API REST, segnalato da Adam Kues di Assetnote / Searchlight Cyber, riguarda l'endpoint batch in WP_REST_Server::server_batch_request_v1(). Questo endpoint consente a un client di raggruppare più sotto-richieste in una singola chiamata. L'handler costruisce due array: uno per tutte le richieste e uno per gli handler corrispondenti. Appare una desincronizzazione degli indici perché le voci di errore non vengono aggiunte all'array dei match. Un attaccante può prima inviare una sotto-richiesta con il percorso http://, che fallisce il parsing dell'URL e crea un errore all'indice 0 senza un match corrispondente. Dopo di che, ogni successiva ricerca dell'handler viene spostata di uno. Annidando un secondo batch, l'attaccante fa arrivare una richiesta come GET /wp/v2/posts?author_exclude= in modo che venga validata contro un handler diverso, l'handler POST create posts, dove author_exclude non è un filtro di raccolta registrato e la sua normale validazione come array di interi non viene mai eseguita. Poi viene eseguita contro il match spostato per la route di raccolta GET, chiamando la funzione non autenticata get_items() con un author_exclude non validato. La correzione nella 7.0.2 mantiene gli array allineati per indice aggiungendo anche gli errori all'array dei match e aggiunge un guardia di rientranza per prevenire l'avvio di un nuovo ciclo REST di livello superiore mentre un dispatch è in corso.

La catena combinata è grave: un attaccante non autenticato può raggiungere la SQL injection senza alcun account, e Patchstack afferma che la catena può portare alla completa compromissione del sito, inclusa l'esecuzione remota di codice, il che significa che l'attaccante può eseguire il proprio codice sul server. Patchstack ha implementato immediatamente le sue regole di virtual patching RapidMitigate e ha visto tentativi di sfruttamento nei suoi log. A causa dello sfruttamento attivo e della natura non autenticata, il team principale di WordPress ha trattato questo come un problema di massima priorità e ha effettuato un aggiornamento forzato sui siti interessati. Per i lettori che gestiscono i propri siti web, il passo immediato è verificare che il sito esegua WordPress 7.0.2, o 6.9.5, o 6.8.6, a seconda del ramo. È anche consigliabile rivedere gli account utente per eventuali account amministratore o editor non riconosciuti, poiché gli attaccanti che sfruttano questa vulnerabilità potrebbero creare o elevare utenti. I servizi di hosting WordPress gestiti come AEU Hosting sono progettati per mantenere sicure le installazioni WordPress, il che può includere aggiornamenti automatici e protezioni a livello di server, ma i proprietari dei siti dovrebbero comunque confermare la loro versione come raccomandato.

Come Proteggerti

  1. Aggiorna ora il tuo sito WordPress alla versione 7.0.2 oppure, se non puoi aggiornare alla versione principale, applica la patch di sicurezza per il tuo ramo (6.9.5 o 6.8.6).
  2. Accedi alla dashboard di WordPress e controlla se ci sono account utente che non riconosci, soprattutto quelli con il livello di permessi più alto (amministratore), ed eliminali o disattivali immediatamente.
  3. Se usi un plugin di sicurezza o un firewall per applicazioni web, assicurati che le sue regole siano aggiornate, poiché RapidMitigate di Patchstack blocca già questo attacco.
  4. Esegui un backup del tuo sito prima di applicare qualsiasi aggiornamento, così puoi ripristinarlo se qualcosa va storto.
  5. Attiva gli aggiornamenti automatici per le versioni minori di WordPress, così riceverai le future correzioni di sicurezza senza ritardi.

Vulnerabilità e Soluzioni

I Termini Spiegati

  • SQL injection Un tipo di attacco in cui un attaccante modifica la query del database che un sito web esegue, permettendogli di leggere o modificare dati privati.
  • REST API Un modo per siti web e app di comunicare con WordPress utilizzando richieste web, spesso usato da plugin e strumenti esterni.
  • WP_Query Una funzione centrale di WordPress che costruisce le query del database usate per recuperare post, pagine e altri contenuti.
  • route handler Il pezzo di codice che decide cosa fare quando una richiesta specifica arriva a WordPress.
  • remote code execution Un grave difetto di sicurezza che permette a un attaccante di eseguire i propri comandi sul server che ospita un sito web.
  • backport Una correzione di sicurezza che è stata adattata per funzionare in una versione precedente del software.

Servizi AEU correlati

  • AEU Panel Pannello di controllo per l'hosting gestito
  • AEU-I Consulenza IT e sicurezza