漏洞总结:sctokens 路径遍历导致授权绕过 漏洞概述 CVE编号: CVE-2025-23227 严重程度: High (8.1/10) 影响版本: < 1.9.7 修复版本: 1.9.7 Enforcer 组件存在路径遍历漏洞。攻击者可在令牌的 scope 声明中使用 绕过预期的目录限制。该库在比较授权路径(来自令牌)和请求路径(来自应用)之前,使用 对两者进行规范化,导致路径遍历被解析后匹配成功。 漏洞逻辑流程 1. 规范化阶段: 被规范化为 2. 比较阶段: 请求路径 与授权路径 比较时, .startswith( ) 返回 True,授权通过 额外攻击向量 URL编码绕过: 会先解码再规范化,攻击者可用 等编码绕过简单字符串过滤 根目录遍历: 规范化为 ,可访问整个文件系统 --- 影响范围 攻击者若能控制 scope 声明(如令牌包含用户提供的子路径环境),可访问授权范围之外的目录和文件。 利用示例 --- POC代码 --- 修复方案 在解码后、规范化前,验证 scope 中的路径不包含 组件。同时确保验证过程中抛出的任何错误都是 的子类,以便 Enforcer.test 方法正确处理。