Sono state rilevate tre differenti vulnerabilità RCE (Remote Code Execution) importanti nel plugin per WordPress “PHP Everywhere“. Con oltre 30 mila installazioni attualmente attive, PHP Everywhere è il plugin del popolare CMS che gli amministratori utilizzano per incorporare codice PHP in qualsiasi parte del sito WordPress (pagine, post, sidebar e ogni blocco Gutenberg).
Le vulnerabilità potrebbero essere abusate da un attaccante per consentire, per l’appunto, di eseguire codice arbitrario da remoto.
Indice degli argomenti
I dettagli delle vulnerabilità in PHP Everywhere
Le tre vulnerabilità sono state individuate dal team di Wordfence: ne riportiamo una breve panoramica, facendo notare che tutte hanno ricevuto il punteggio CVSS 9.9 su 10 e che si differenziano maggiormente per livello minimo necessario di autenticazione per essere sfruttate:
- CVE-2022-24663: bug di RCE sfruttabile da qualsiasi sottoscrittore del sito. Consente loro di inviare una richiesta con il parametro shortcode impostato su PHP Everywhere ed eseguire codice PHP arbitrario sul sito;
- CVE-2022-24664: vulnerabilità RCE sfruttabile dai contributori attraverso il metabox del plugin. Un utente malintenzionato creerebbe un post, aggiungerebbe un metabox del codice PHP, quindi lo visualizzerebbe in anteprima;
- CVE-2022-24665: difetto RCE, che può essere sfruttato dai contributori che hanno l’abilitazione a edit_posts e possono aggiungere blocchi PHP Everywhere Gutenberg. L’impostazione di sicurezza predefinita sulle versioni dei plug-in vulnerabili non è impostata su “solo amministratore” come dovrebbe essere.
La più preoccupante, benché abbiano tutte un punteggio considerato grave, se vogliamo è la prima in quanto richiede un grado minimo di accesso alla piattaforma, sfruttabile quindi potenzialmente da chiunque possa effettuare una registrazione da normale utente, senza alcun altro livello più elevato. Ciò, di fatto, rende fattibile l’esecuzione di codice PHP arbitrario e quindi anche dannoso.
Come mitigare il rischio nascosto nei plugin WordPress
Come detto, i ricercatori di Wordfence hanno individuato le tre vulnerabilità, segnalando subito al creatore del plugin il problema presente nell’attuale versione 2.0, nella giornata del 4 gennaio appena passato. Il 10 gennaio il team di sviluppo di PHP Everywhere ha rilasciato, come correzione, una nuova versione del plugin: la 3.0. Si decide, appunto, di effettuare un salto così importante, vista la mola di componenti del plugin sottoposti a revisione e aggiornamenti, proprio a causa dei tre bugs RCE.
Secondo le statistiche di WordPress, relativamente ai download del plugin, però, bisogna constatare che il 61,5%, dopo un mese dal rilascio della nuova versione, è ancora stabile alla vecchia versione 2.0 (ormai vulnerabile).
Questo dato ancora stenterà a cambiare perché il lavoro di aggiornamento da parte degli amministratori non è sempre automatico e a volte può impiegare anche tanto tempo, prima che venga applicato: questo meccanismo soffre proprio della carenza di operazioni sulla manutenzione dei siti web, da parte degli amministratori, spesso troppo impegnati per poter seguire tutti i lavori, in maniera puntuale e imminente.
Inoltre, bisogna considerare che questo aggiornamento interviene drasticamente su alcune funzionalità del plugin, probabilmente per il carattere emergenziale che ne ricopre. Nello specifico, se si utilizza con l’editor classico, siamo costretti alla rimozione e cercare un altro sistema per poter gestire l’incorporamento di PHP: infatti, la versione 3.0 ne applica il funzionamento unicamente ai blocchi Gutenberg, non è nemmeno garantito si tratti di qualcosa di provvisorio. L’autore lascia il dubbio sui passi successivi da intraprendere al riguardo della vecchia funzionalità con editor Classic.
Come precedentemente sottolineato e vista la popolarità ancora oggi della versione 2.0, dal canto nostro non possiamo che promuovere l’operatività amministrativa in tal senso, invitando chiunque interessato ad aggiornare, presto.