漏洞概述 该漏洞涉及跨租户的IDOR(不安全的直接对象引用)问题,具体发生在备份取消和增量备份处理程序中。攻击者可以通过提供另一个租户的域名/文件名作为参数,导致以下后果: 删除其他租户的备份文件 损坏其状态文件 删除备份行 读取或恢复其他租户的快照 影响范围 受影响组件: 和 受影响功能:备份取消和增量备份处理 影响用户:所有使用CyberPanel的用户,特别是那些使用多租户环境的用户 修复方案 1. 增加所有权检查:在 中,增加了 函数,确保每个操作都针对正确的租户域名。 2. 限制数据库查询:在 中,将数据库查询限制为仅查询当前租户的域名,防止跨租户访问。 3. 更新备份管理器:在 中,增加了 函数,确保备份取消操作仅针对当前租户的备份文件。 代码变更 总结 该漏洞通过增加所有权检查和限制数据库查询范围,有效防止了跨租户的IDOR攻击,确保了备份操作的安全性。