Sono state rilevate diverse vulnerabilità nel motore open source per la creazione di forum web MyBB, che insieme consentono l'esecuzione di codice PHP sul server. I problemi si manifestano nelle versioni da 1.8.16 a 1.8.25 e sono stati risolti nell'aggiornamento MyBB 1.8.26.
La prima vulnerabilità (CVE-2021-27889) consente a un partecipante non privilegiato del forum di incorporare codice JavaScript nei post, nelle discussioni e nei messaggi privati. Il forum permette l'aggiunta di immagini, liste e contenuti multimediali tramite tag speciali che vengono convertiti in markup HTML. A causa di un errore nel codice di conversione di tali tag, la seguente costruzione con URL doppi [img]http://xyzsomething.com/image?)http://x.com/onerror=alert(1);//[/img] viene convertita in <img src="»http://xyzsomething.com/image?)<a" href="»" http:="»»" x.com="»»" onerror="»alert(1);//"»" target="»_blank»" rel="»noopener»" class="»mycode_url»">
La seconda vulnerabilità (CVE-2021-27890) consente di effettuare l'inserimento di comandi SQL e ottenere l'esecuzione del proprio codice. Il problema si verifica a causa dell'inserimento di $theme[‘templateset’] nel corpo della query SQL senza la dovuta sanitizzazione e l'esecuzione dei componenti ${…} tramite la chiamata a eval. Ad esempio, è possibile avviare un comando PHP passthru(‘ls’) durante l'elaborazione di un tema con una struttura del tipo: <templateset>’) AND 1=0 UNION SELECT title, ‘${passthru(\’ls\’)}’ from mybb_templates — </templateset>
Per sfruttare la seconda vulnerabilità è necessario avere una sessione con i diritti di amministratore del forum. Per inviare una richiesta con diritti di amministratore, l'attaccante può sfruttare la prima vulnerabilità e inviare un messaggio privato con codice JavaScript all'amministratore, il cui caricamento sfrutterà la seconda vulnerabilità.
Fonte: opennet.ru
