漏洞概述 漏洞名称:Sibling-Path Authorization Bypass(兄弟路径授权绕过) CVE编号:CVE-2024-23726 CWE:CWE-863(不正确的授权) CVSS v3.1评分:8.1(High) 该漏洞存在于 的路径授权验证逻辑中。验证器使用简单的字符串前缀匹配来检查请求资源路径是否被令牌的授权作用域路径覆盖,未要求路径段边界检查,导致具有相同前缀的兄弟路径被错误授权。 漏洞原理: 令牌作用域 错误地授权了对 和 的访问(兄弟路径,非 的后代路径) 同样影响 的兼容性处理,如 被错误接受 --- 影响范围 攻击场景: 在多租户或共享存储环境中,攻击者持有特定路径作用域的令牌,可访问具有相同字符串前缀的其他用户/租户数据。 --- POC/利用示例 示例1(正常行为 - 后代路径) 示例2(漏洞利用 - 兄弟路径) 示例3(漏洞利用 - 兄弟路径) 复现步骤 1. 创建或获取带有 的有效令牌 2. 调用验证器: - authorization: - requested resource: 3. 观察授权成功 4. 用 重复测试,结果相同 --- 修复方案 根本原因 授权逻辑将路径覆盖视为字节前缀关系而非路径段关系。 正确实现应允许访问当且仅当: 请求路径与授权路径完全匹配 授权路径是 (根) 请求路径是授权路径的真正后代(前缀后的下一个字符是 ) 推荐修复 1. 替换原始前缀匹配为路径段感知匹配 2. 仅授权: - 完全匹配 - 根作用域 - 授权前缀后带 边界的后代路径 3. 同样修复兼容性处理(如 ) 4. 添加回归测试覆盖兄弟前缀场景 修复状态(开发分支已修复) 替换原始前缀检查为段感知路径匹配 添加回归测试验证: - 允许 ✓ - 允许 ✓ - 拒绝 ✓ - 拒绝 ✓ - 拒绝 ✓