CVE-2026-41189FreeScout是一款开源的自托管帮助台和共享邮箱系统。在1.8.215版本之前,系统存在一处权限绕过漏洞。问题出在`ThreadPolicy::edit()`方法中,该方法仅检查了基本的邮箱访问权限,却未能应用`ConversationPolicy`中定义的“仅限分配”限制。因此,即便用户没有权限查看某个特定的对话,他们仍然可以加载并编辑该对话内部由客户创建的线程,严重影响了系统的数据完整性。
该漏洞属于业务逻辑缺陷导致的授权绕过。在FreeScout的代码实现中,编辑客户线程的操作由`ThreadPolicy::edit()`进行授权验证。正常流程下,系统应当结合邮箱访问权限与对话访问策略(如是否仅允许分配给该线程的用户查看)来综合判断。然而,在受影响版本中,`ThreadPolicy::edit()`仅验证了用户是否有权访问当前邮箱,却遗漏了对`ConversationPolicy`中“仅限分配”这一关键限制条件的调用。攻击者只需拥有低权限账号(如普通客服人员),即可通过构造特定的HTTP请求,直接调用编辑接口。只要目标对话所在的邮箱是攻击者可访问的,即使该对话并未分配给攻击者,或者攻击者本无权查看该对话详情,他们依然能够成功加载并修改客户发布的消息内容。这种绕过行为使得攻击者可以篡改历史记录,造成信息误导或破坏业务逻辑的完整性。