漏洞总结 漏洞概述 这是一个关于 库中 选项的缓存混淆(Cache Confusion)风险。 当用户自定义 函数用于缓存验证结果时,如果该函数无法为不同的 token 生成唯一的 key,会导致缓存碰撞。攻击者可能利用此漏洞,使不同的 token 被系统错误地识别为同一个 token,从而导致身份验证绕过(Authorization Bypass)。 影响范围 所有在 配置中启用了 并自定义了 选项的用户。 涉及文件: (核心逻辑), (文档说明), (测试用例)。 修复方案 1. 添加安全警告:在 的 函数中,当检测到 被设置时,会触发一个 Node.js 警告 ( )。警告代码为 ,明确告知用户自定义 builder 可能导致缓存碰撞和授权绕过。 2. 更新文档:在 中增加了关于 的警告说明,提示用户如果使用该功能,必须确保其能生成唯一的 key,否则存在安全风险。 3. 增加测试验证:在 中增加了测试用例,验证当使用自定义 时确实会发出安全警告,确保修复逻辑生效。 相关代码片段 (来自 test/verifier.spec.js)