CVE-2026-41588RELATE是一款基于Web的课程软件包。在commit 2f68e16之前,其course/auth.py文件中的check_sign_in_key()函数存在严重的时序攻击漏洞。由于验证逻辑未使用恒定时间比较,攻击者可以通过分析网络请求的响应时间差异,侧信道推断出有效的签名密钥。一旦获取密钥,攻击者即可绕过身份验证机制,未授权访问敏感课程数据或执行特权操作。该漏洞已通过特定提交修复。
该漏洞源于RELATE项目中course/auth.py文件的check_sign_in_key()函数实现不当。该函数用于验证用户提供的签名密钥,但在比对密钥哈希或字符串时,使用了非恒定时间的比较算法(如直接使用==运算符)。这种实现方式使得响应时间与密钥的正确位数呈正相关。攻击者可以构建一个自动化脚本,向目标服务器发送大量包含不同前缀的特制请求。通过统计每个请求的响应时间,利用统计学方法区分“匹配”与“不匹配”带来的微小时间差异。随着攻击的进行,攻击者可以逐个字节地推导出完整的有效密钥。由于该漏洞无需认证即可利用(CVSS PR:N),且影响范围广(S:C),一旦攻击者成功推导出密钥,便可伪造合法的登录会话,进而访问受限的课程资源、篡改学生数据或执行管理员级别的操作,对系统造成严重的机密性、完整性和可用性破坏。