CVE-2026-32935phpseclib是一个PHP安全通信库,广泛用于加密操作。在0.1.1至1.0.26、2.0.0至2.0.51以及3.0.0至3.0.49版本中,当使用AES CBC模式时,库在处理填充验证时存在时序侧信道漏洞。攻击者可以通过发送特制的密文并分析服务器响应的时间差异,推断出填充的有效性,进而利用填充预言攻击解密密文。该漏洞可能导致敏感数据泄露,但不会影响数据的完整性和可用性。官方已在1.0.27、2.0.52和3.0.50版本中修复了此问题。
该漏洞的核心在于phpseclib在AES CBC模式解密过程中,对PKCS#7填充的校验逻辑存在实现缺陷。在CBC模式下,解密后的数据需要去除填充,如果填充不正确通常会抛出异常。然而,受影响的版本在检查填充大小时,不同类型的错误(如填充字节错误与填充长度错误)导致了不同的处理路径或返回时机,从而产生了可被观测的时间差异。攻击者无需知道密钥,只需向服务器发送修改过IV或密文块的数据包,并精确测量服务器的响应时间。通过统计分析时间差异,攻击者可以判断中间块的解密结果是否符合填充规则,从而逐字节恢复出明文信息。由于该漏洞通过网络利用且无需认证,对使用该库进行数据传输的应用构成了严重威胁。