CVE-2026-33129H3是一个极简的HTTP框架。在2.0.1-beta.0至2.0.0-rc.8版本中,其requireBasicAuth函数存在严重的时序侧信道漏洞。该漏洞源于代码中使用了不安全的字符串比较方法(!==),导致比较操作的时间随匹配字符数量增加而增加。攻击者可以通过测量服务器响应时间,逐个字符推断出有效的Basic Auth密码,从而有效绕过密码复杂度保护机制。该问题已在2.0.1-rc.9版本中修复。
该漏洞位于H3框架的认证模块中。在受影响版本内,requireBasicAuth函数直接使用了JavaScript的非恒定时间字符串比较运算符(!==)来验证密码。这种比较方式会在发现第一个不匹配字符时立即返回False,这意味着输入密码与正确密码前缀匹配的长度越长,服务器的响应时间就会略微延长。攻击者利用这一特性,可以在无需认证的情况下,通过向服务器发送大量包含不同前缀的认证请求,并统计分析响应时间的微小差异。由于攻击向量为网络且无需用户交互,攻击者可以远程实施攻击。虽然网络延迟可能干扰单次测量,但通过统计学方法,攻击者可以高精度地还原出完整的密码,导致机密性直接泄露,而对完整性和可用性无直接影响。