Il pericolo è rappresentato dalla possibilità che un utente malintenzionato e non autenticato possa modificare il contenuto di una qualsiasi pagina o di un qualsiasi articolo creato tramite un'installazione di WordPress (Content Injection). Ad essere interessati sono i siti Web basati su WordPress 4.7.0 e 4.7.1, con la prima infatti è stata introdotta l'abilitazione della REST API in modalità predefinita.

La problematica alla base di tale vulnerabilità sarebbe stata individuata in uno degli endpoint dell'interfaccia per lo sviluppo che, tramite quest'ultima, potrebbe essersi trasformato in un canale di accesso per l'utilizzo di funzionalità per la visualizzazione, l'editing e la cancellazione non autorizzata dei contenuti. A livello tecnico si parla di un malfunzionamento nella gestione degli accessi da parte della REST API che darebbe priorità ai valori passati tramite metodi $_GET e $_POST consentendo, per esempio, di inviare richieste sul modello della seguente:

/wp-json/wp/v2/posts/1234?id=12345helloworld

accodando quindi id=12345helloworld alla stringa:

/wp-json/wp/v2/posts/1234

in modo da generare un parametro di identificazione arbitrario. Nella seconda fase dell'attacco questo dato potrebbe essere passato alla funzione get_post() che ha il compito di validare la richiesta verificando che il post richiesto sia effettivamente disponibile, ciò avverrebbe però indipendentemente dal fatto che il richiedente abbia effettivamente i privilegi necessari per editare tale contenuto.

In pratica, anche inviando un ID a cui non dovesse corrispondere un articolo, il controllo dei permessi verrebbe comunque bypassato e la richiesta effettuata potrebbe essere comunque eseguita accordando l'accesso al metodo update_item che consente l'alterazione di un contenuto; quindi, tramite una chiamata a:

/wp-json/wp/v2/posts/123?id=456ABC

si potrebbe editare un post che abbia come ID 456.

Il rischio è evidente. Chi dovesse aver abilitato gli aggiornamenti in background alle minor release di WordPress è plausibilmente già passato alla 4.7.2 per tutte le proprie installazioni, gli altri dovrebbero optare per un upgrade manuale da operarsi quanto prima.

Via Sucuri Blog

CommentaDi' la tua

Il tuo indirizzo email non sarà mostrato pubblicamente. I campi obbligatori sono contrassegnati da *