CVE-2025-3568
Escalade de privilèges via un fichier SVG malveillant
Résumé
Une vulnérabilité de sécurité a été identifiée dans Krayin CRM 2.1.0 qui permet à un utilisateur à faibles privilèges d'élever ses privilèges en trompant un administrateur pour qu'il ouvre un fichier SVG malveillant. Cette exploitation tire parti du Cross-Site Request Forgery (CSRF) et du Cross-Site Scripting (XSS) via SVG pour :
- Voler le jeton XSRF de l'administrateur à partir des cookies.
- Modifier le mot de passe de l'administrateur sans connaître le mot de passe actuel via un point de terminaison API non protégé.
Cela pourrait conduire à une prise de contrôle complète du compte administrateur et à des violations de données.
Détails techniques
Type de vulnérabilité
- CSRF + XSS via téléchargement de fichier SVG (attaque stockée côté client)
- Contrôle d'accès défaillant (changement de mot de passe sans le mot de passe actuel)
Composant concerné
- Module de gestion des utilisateurs (
/admin/settings/users/edit/[ID])
- Gestion du téléchargement de fichiers/pièces jointes aux e-mails (SVG avec JavaScript embarqué)
Déroulement de l'attaque
- L'attaquant (utilisateur à faibles privilèges) envoie un e-mail avec une pièce jointe SVG malveillante à un administrateur.
- L'administrateur ouvre le fichier SVG dans un nouvel onglet.
- Le JavaScript à l'intérieur du SVG s'exécute, récoltant le cookie
XSRF-TOKEN de l'administrateur.
- Une requête POST falsifiée est envoyée au point de terminaison de gestion des utilisateurs du CRM, modifiant le mot de passe de l'administrateur.
- L'attaquant obtient un accès administrateur complet en utilisant le nouveau mot de passe.
Preuve de concept (PoC)
- Enregistrement vidéo de l'exploitation en action :
https://github.com/user-attachments/assets/36f5f5ec-d7f1-4ea8-aa78-f1be396e13d3
- Fichier SVG malveillant : svgxss.svg
Impact
- Prise de contrôle complète du compte administrateur : L'attaquant peut réinitialiser le mot de passe administrateur et se connecter.
- Violation de données : Accès aux données sensibles du CRM (informations clients, transactions, etc.).
- Persistance : L'attaquant peut créer des comptes dorsaux ou modifier les paramètres système.
Analyse des causes profondes
Absence de nettoyage des SVG
- Le CRM autorise les fichiers SVG avec JavaScript embarqué, permettant ainsi le XSS.
Logique de changement de mot de passe défaillante
- Le point de terminaison
/admin/settings/users/edit n'impose pas la vérification du mot de passe actuel.
Conclusion
Cette vulnérabilité représente un risque critique pour la sécurité du CRM, permettant aux attaquants de détourner les comptes administrateurs avec un minimum d'effort. Une action immédiate est nécessaire pour corriger le problème et empêcher l'exploitation.
Références