La vulnerabilità di WordPress raggiunge +1 milione utilizzando il plug-in Intestazione e piè di pagina
È stato scoperto che il plugin WordPress WPCode – Insert Headers and Footers + Custom Code Snippets, con oltre un milione di installazioni, presenta una vulnerabilità che potrebbe consentire all’aggressore di eliminare file sul server.
L’avviso della vulnerabilità è stato pubblicato nel National Vulnerability Database (NVD) del governo degli Stati Uniti.
Inserisci plugin intestazioni e piè di pagina
Il plugin WPCode (precedentemente noto come Insert Headers and Footers di WPBeginner), è un plugin popolare che consente agli editori di WordPress di aggiungere snippet di codice all’area dell’intestazione e del piè di pagina.
Ciò è utile per gli editori che devono aggiungere un codice di convalida del sito di Google Search Console, codice CSS, dati strutturati, persino codice AdSense, praticamente tutto ciò che appartiene all’intestazione o al piè di pagina di un sito web.
Vulnerabilità relativa alla falsificazione delle richieste tra siti (CSRF).
Il plug-in WPCode – Insert headers and Footers precedente alla versione 2.0.9 contiene ciò che è stato identificato come vulnerabilità Cross-Site Request Forgery (CSRF).
Un attacco CSRF si basa sull’inganno di un utente finale registrato sul sito WordPress a fare clic su un collegamento che esegue un’azione indesiderata.
L’aggressore sostanzialmente utilizza le credenziali dell’utente registrato per eseguire azioni sul sito su cui l’utente è registrato.
Quando un utente che ha effettuato l’accesso a WordPress fa clic su un collegamento contenente una richiesta dannosa, il sito è obbligato a eseguire la richiesta perché utilizza un browser con cookie che identifica correttamente l’utente come connesso.
L’aggressore conta sull’azione dannosa che l’utente registrato sta eseguendo inconsapevolmente.
L’organizzazione no-profit Open Worldwide Application Security Project (OWASP) descrive una vulnerabilità CSRF:
“Cross-Site Request Forgery (CSRF) è un attacco che costringe un utente finale a eseguire azioni indesiderate su un’applicazione web in cui è attualmente autenticato.
Con un piccolo aiuto di ingegneria sociale (come l’invio di un collegamento via e-mail o chat), un utente malintenzionato può ingannare gli utenti di un’applicazione Web inducendoli a eseguire le azioni scelte dall’utente malintenzionato.
Se la vittima è un utente normale, un attacco CSRF riuscito può costringere l’utente a eseguire richieste di modifica dello stato come il trasferimento di fondi, la modifica del proprio indirizzo e-mail e così via.
Se la vittima è un account amministrativo, CSRF può compromettere l’intera applicazione web.”
IL Enumerazione delle debolezze comuni (CWE), sponsorizzato dal Dipartimento per la Sicurezza Interna degli Stati Uniti, offre una definizione di questo tipo di CSRF:
“L’applicazione web non verifica, o non può, verificare in modo sufficiente se una richiesta ben formata, valida e coerente è stata intenzionalmente fornita dall’utente che ha inviato la richiesta.
…Quando un server web è progettato per ricevere una richiesta da un client senza alcun meccanismo per verificare che sia stata inviata intenzionalmente, allora potrebbe essere possibile per un utente malintenzionato ingannare un client facendogli fare una richiesta involontaria al server web che verrà trattata come richiesta autentica.
Ciò può essere fatto tramite un URL, caricamento di immagini, XMLHttpRequest, ecc. e può comportare l’esposizione di dati o l’esecuzione involontaria di codice.
In questo caso particolare le azioni indesiderate si limitano all’eliminazione dei file di registro.
Il National Vulnerability Database ha pubblicato i dettagli della vulnerabilità:
“Il plugin WordPress WPCode precedente alla 2.0.9 presenta un CSRF difettoso durante l’eliminazione del registro e non garantisce che il file da eliminare sia all’interno della cartella prevista.
Ciò potrebbe consentire agli aggressori di fare in modo che gli utenti con la funzionalità wpcode_activate_snippets eliminino file di registro arbitrari sul server, anche al di fuori delle cartelle del blog.
Il sito Web WPScan (di proprietà di Automattic) ha pubblicato una prova di concetto della vulnerabilità.
Una prova di concetto, in questo contesto, è il codice che verifica e dimostra che una vulnerabilità può funzionare.
Questo è il verifica teorica:
"Make a logged in user with the wpcode_activate_snippets capability open the URL below https://example.com/wp-admin/admin.php?page=wpcode-tools&view=logs&wpcode_action=delete_log&log=../../delete-me.log This will make them delete the ~/wp-content/delete-me.log"
Seconda vulnerabilità per il 2023
Questa è la seconda vulnerabilità scoperta nel 2023 per il plugin WPCode Insert Headers and Footers.
Nel febbraio 2023 è stata scoperta un’altra vulnerabilità, che interessava le versioni 2.0.6 o precedenti, che la società di sicurezza Wordfence WordPress ha descritto come una vulnerabilità “Autorizzazione mancante alla divulgazione/aggiornamento di chiavi sensibili.”
Secondo il rapporto sulla vulnerabilità NVD, la vulnerabilità ha colpito anche le versioni fino alla 2.0.7.
Il NVD avvertito della vulnerabilità precedente:
“Il plugin WordPress WPCode precedente alla 2.0.7 non dispone di adeguati controlli dei privilegi per diverse azioni AJAX, ma controlla solo il nonce.
Ciò potrebbe portare a consentire a qualsiasi utente autenticato che può modificare i post di chiamare gli endpoint relativi all’autenticazione della libreria WPCode (come aggiornare ed eliminare la chiave di autenticazione).”
WPCode ha rilasciato una patch di sicurezza
Il registro delle modifiche per il plug-in WordPress WPCode – Inserisci intestazioni e piè di pagina rileva responsabilmente che è stato risolto un problema di sicurezza.
UN notazione del registro delle modifiche per l’aggiornamento della versione 2.0.9 stati:
“Correzione: rafforzamento della sicurezza per l’eliminazione dei registri.”
La notazione del log delle modifiche è importante perché avvisa gli utenti del plugin del contenuto dell’aggiornamento e consente loro di prendere una decisione informata se procedere con l’aggiornamento o attendere quello successivo.
WPCode ha agito in modo responsabile rispondendo tempestivamente alla scoperta della vulnerabilità e annotando anche la correzione di sicurezza nel registro delle modifiche.
Azioni consigliate
Si consiglia agli utenti del plug-in WPCode – Inserisci intestazioni e piè di pagina di aggiornare il proprio plug-in almeno alla versione 2.0.9.
La versione più aggiornata del plugin è la 2.0.10.
Leggi informazioni sulla vulnerabilità sul sito web di NVD: