CVE-2025-65029CVE-2025-65029是Rallly开源调度协作工具中的一个高危安全漏洞,CVSS评分8.1。该漏洞影响4.5.4之前的所有版本,属于不安全的直接对象引用(IDOR)类型。Rallly是一款用于团队调度和协作的开源工具,允许用户创建投票来协调会议时间、活动安排等。在存在漏洞的版本中,系统在删除投票参与者时仅依赖参与者ID进行授权验证,完全缺少对当前用户是否拥有该投票的所有权验证机制。这意味着任何经过身份认证的用户,即使不是特定投票的所有者或参与者,也能够通过提供任意参与者的ID来删除该参与者。更严重的是,攻击者甚至可以删除投票所有者本人,从而完全接管投票的访问控制。该漏洞严重影响了投票数据的完整性和可用性,攻击者可借此破坏正常的团队协作流程,删除关键参与者信息,导致投票功能失效。漏洞已于4.5.4版本中修复。
Rallly的删除参与者端点在设计上存在严重的访问控制缺陷。漏洞根源在于服务端未正确实现对象级别的授权检查。当用户请求删除某个参与者时,系统仅验证了请求者是否已登录(通过认证),但并未验证请求者是否有权操作目标参与者的数据。具体来说,删除操作的授权逻辑仅基于参与者ID(participant_id),而没有验证该参与者是否属于当前用户创建的投票,或者当前用户是否有权修改该投票的参与者列表。攻击者只需要知道或猜测有效的参与者ID,即可构造删除请求。由于Rallly使用自增ID或可预测的UUID作为参与者标识符,攻击者可以通过遍历ID或利用信息泄露获取有效ID。API端点通常为DELETE /api/polls/{poll_id}/participants/{participant_id},服务端代码可能类似于:删除操作直接根据participant_id执行数据库删除语句,缺少WHERE条件限制当前用户的所有权。这种设计缺陷使得攻击者可以在不拥有任何投票的情况下,通过API调用删除任意投票中的任意参与者,包括投票创建者本人。