CVE-2025-3568
Escalation dei privilegi tramite file SVG malintenzionato
Riepilogo
È stata identificata una vulnerabilità di sicurezza in Krayin CRM 2.1.0 che consente a un utente con privilegi bassi di escalare i propri privilegi ingannando un amministratore affinché apra un file SVG malintenzionato. Questo exploit sfrutta Cross-Site Request Forgery (CSRF) e Cross-Site Scripting (XSS) tramite SVG per:
- Rubare il token XSRF dell'amministratore dai cookie.
- Cambiare la password dell'amministratore senza conoscere la password attuale tramite un endpoint API non protetto.
Ciò può portare alla completa compromissione dell'account amministratore e a violazioni dei dati.
Dettagli tecnici
Tipo di vulnerabilità
- CSRF + XSS tramite caricamento di file SVG (attacco client-side persistente)
- Controllo degli accessi non corretto (cambio password senza password attuale)
Componente interessato
- Modulo di gestione utenti (
/admin/settings/users/edit/[ID])
- Gestione caricamento file/allegati email (SVG con JavaScript incorporato)
Flusso dell'attacco
- L'attaccante (utente con privilegi bassi) invia un'email con un allegato SVG malintenzionato a un amministratore.
- L'amministratore apre il file SVG in una nuova scheda.
- Il JavaScript all'interno dell'SVG viene eseguito, rubando il cookie
XSRF-TOKEN dell'amministratore.
- Viene inviata una richiesta POST contraffatta all'endpoint di gestione utenti del CRM, modificando la password dell'amministratore.
- L'attaccante ottiene pieno accesso amministrativo utilizzando la nuova password.
Proof of Concept (PoC)
- Registrazione dello schermo dell'exploit in azione:
https://github.com/user-attachments/assets/36f5f5ec-d7f1-4ea8-aa78-f1be396e13d3
- File SVG malintenzionato: svgxss.svg
Impatto
- Compromissione totale dell'account amministratore: l'attaccante può reimpostare la password dell'amministratore e accedere.
- Violazione dei dati: accesso a dati CRM sensibili (informazioni sui clienti, transazioni, ecc.).
- Persistenza: l'attaccante può creare account backdoor o modificare le impostazioni di sistema.
Analisi delle cause profonde
Mancata sanificazione degli SVG
- Il CRM consente file SVG con JavaScript incorporato, abilitando così l'XSS.
Logica di cambio password non corretta
- L'endpoint
/admin/settings/users/edit non impone la verifica della password attuale.
Conclusione
Questa vulnerabilità rappresenta un rischio critico per la sicurezza del CRM, consentendo agli attaccanti di dirottare gli account amministratore con il minimo sforzo. È necessaria un'azione immediata per correggere il problema e prevenirne lo sfruttamento.
Riferimenti