CVE-2025-3568
Privilege Escalation via Malicious SVG File
Zusammenfassung
Eine Sicherheitslücke wurde in Krayin CRM 2.1.0 identifiziert, die es einem Benutzer mit niedrigen Berechtigungen ermöglicht, seine Privilegien zu erweitern, indem er einen Administrator dazu bringt, eine bösartige SVG-Datei zu öffnen. Dieser Exploit nutzt Cross-Site Request Forgery (CSRF) und Cross-Site Scripting (XSS) über SVG aus, um:
- Das XSRF-Token des Administrators aus Cookies zu stehlen.
- Das Passwort des Administrators zu ändern, ohne das aktuelle Passwort zu kennen, über einen ungeschützten API-Endpunkt.
Dies könnte zur vollständigen Übernahme des Admin-Kontos und zu Datenschutzverletzungen führen.
Technische Details
Schwachstellentyp
- CSRF + XSS via SVG-Datei-Upload (Gespeicherter Client-seitiger Angriff)
- Broken Access Control (Passwortänderung ohne aktuelles Passwort)
Betroffene Komponente
- Benutzerverwaltungsmodul (
/admin/settings/users/edit/[ID])
- Datei-Upload/E-Mail-Anhang-Verarbeitung (SVG mit eingebettetem JavaScript)
Angriffsablauf
- Angreifer (Benutzer mit niedrigen Berechtigungen) sendet eine E-Mail mit einem bösartigen SVG-Anhang an einen Administrator.
- Administrator öffnet die SVG-Datei in einem neuen Tab.
- JavaScript innerhalb der SVG wird ausgeführt und sammelt das
XSRF-TOKEN-Cookie des Administrators.
- Eine gefälschte POST-Anfrage wird an den Benutzerverwaltungsendpunkt des CRM gesendet, wodurch das Passwort des Administrators geändert wird.
- Angreifer erhält vollen Admin-Zugriff mit dem neuen Passwort.
Proof of Concept (PoC)
- Bildschirmaufzeichnung des Exploits in Aktion:
https://github.com/user-attachments/assets/36f5f5ec-d7f1-4ea8-aa78-f1be396e13d3
- Bösartige SVG-Datei: svgxss.svg
Auswirkung
- Vollständige Übernahme des Admin-Kontos: Der Angreifer kann das Admin-Passwort zurücksetzen und sich anmelden.
- Datenschutzverletzung: Zugriff auf sensible CRM-Daten (Kundeninformationen, Transaktionen usw.).
- Persistenz: Der Angreifer kann Backdoor-Konten erstellen oder Systemeinstellungen ändern.
Ursachenanalyse
Fehlende SVG-Bereinigung
- Das CRM erlaubt SVG-Dateien mit eingebettetem JavaScript, was XSS ermöglicht.
Fehlerhafte Passwortänderungslogik
- Der Endpunkt
/admin/settings/users/edit erzwingt keine Überprüfung des aktuellen Passworts.
Fazit
Diese Schwachstelle stellt ein kritisches Risiko für die Sicherheit des CRM dar und ermöglicht es Angreifern, Admin-Konten mit minimalem Aufwand zu übernehmen. Sofortiges Handeln ist erforderlich, um das Problem zu beheben und Ausnutzung zu verhindern.
Referenzen