漏洞总结:ApostropheCMS 密码重置端点时序侧信道用户枚举 漏洞概述 ApostropheCMS 的密码重置端点 ( ) 存在可测量的时序侧信道漏洞。当请求无效用户时,系统会固定延迟 2 秒;而当请求有效用户时,系统会执行数据库写入和 SMTP 邮件发送操作,且没有进行等效的延迟归一化处理。攻击者可以通过响应时间的差异来枚举有效的用户名或邮箱地址。 影响范围 受影响版本:ApostropheCMS <= 4.28.0 CVSS 评分:3.7 / 10 (Low) 攻击复杂度:高 影响: 账户枚举:未授权攻击者可确定特定用户名或邮箱是否拥有 Apostrophe 账户。 凭证填充准备:确认有效账户后可针对这些账户进行凭证填充攻击。 钓鱼攻击:掌握有效账户信息可发起针对性的钓鱼活动。 无速率限制:重置端点缺乏速率限制,允许攻击者进行高速探测。 修复方案 1. 代码修复:对所有代码路径进行归一化,确保响应时间恒定,不泄露用户是否存在的信息。 2. 速率限制:建议对 端点应用速率限制,以防止高速枚举尝试。 POC 代码 步骤 1:基线无效用户计时 步骤 2:测试已知有效用户 步骤 3:统计比较 两个分布将显示出可测量的发散性。使用本地邮件服务器时,有效用户响应通常在 <500ms 内完成。使用远程 SMTP 服务器时,有效用户响应可能需要 3.5+ 秒。无论哪种情况,计时都与无效用户延迟的固定 2000ms 不同。 推荐修复代码