漏洞概述
FastAPI Api Key 是一个与后端无关的库,用于实现 API 密钥认证系统。在版本 1.1.0 中,其 verify_key() 方法存在时序侧信道漏洞(Timing Side-Channel Vulnerability)。该漏洞源于仅在验证失败时引入随机延迟,导致攻击者可通过测量响应时间差异,统计性地区分有效与无效的 API 密钥。通过大量重复请求,攻击者可能推断出某个 key_id 是否对应有效密钥,从而加速暴力破解或枚举攻击。
漏洞详情
- CVE 编号:CVE-2026-23996
- 漏洞类型:时序侧信道漏洞(CWE-208: Observable Timing Discrepancy)
- CVSS 评分:3.7(LOW)
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N - 影响版本:FastAPI Api Key 1.1.0 之前的所有版本(使用
verify_key()进行认证的场景)
影响范围
所有使用 FastAPI Api Key 库中 verify_key() 方法进行 API 密钥验证、且未应用修复措施的应用程序均受影响。特别是那些依赖该方法作为主要身份验证机制的服务。
风险分析
虽然该漏洞本身不直接导致远程代码执行或权限提升,但攻击者可利用响应时间差异进行统计分析,逐步识别出有效的 API 密钥 ID。一旦获得有效 key_id,结合其他手段(如弱密钥猜测),可能进一步实施账户接管或服务滥用。由于攻击需大量请求且网络条件影响显著,攻击复杂度较高(AC:H),但信息泄露风险(C:L)真实存在。
修复建议
- 立即升级至 FastAPI Api Key 版本 1.1.0 或更高,该版本已通过在所有响应(无论成功或失败)中统一添加随机延迟(min_delay 到 max_delay 范围内)来消除时序相关性。
- 若无法立即升级,可采取以下临时缓解措施:
– 在应用层为所有认证响应(包括成功和失败)添加固定的延迟或随机抖动(jitter);
– 配置严格的速率限制(Rate Limiting),以降低攻击者收集足够样本进行统计分析的可行性。
