CVE-2025-67897CVE-2025-67897是Sequoia OpenPGP库中的一个拒绝服务漏洞。该漏洞存在于Sequoia 2.1.0之前的版本中,由于aes_key_unwrap函数在处理过短的密文时缺少长度验证,当接收到精心构造的密文时会触发panic异常,导致应用程序崩溃。攻击者可以通过网络向受害者发送包含恶意PKESK(Public Key Encrypted Session Key)或SKESK(Symmetric Key Encrypted Session Key)数据包的OpenPGP加密消息来利用此漏洞。此漏洞的CVSS评分为5.3,属于中等严重程度,主要影响系统的可用性。由于攻击利用不需要认证且可通过网络发起,因此具有一定的实际威胁性。
该漏洞的核心问题在于Sequoia库的aes_key_unwrap函数缺乏对输入密文长度的边界检查。在正常的密钥解包过程中,该函数预期接收符合特定长度要求的密文数据(通常为8字节的倍数且至少16字节)。然而,当攻击者构造一个长度过短的密文并通过PKESK或SKESK数据包传入时,函数内部的 unwrap 算法会在处理过程中访问超出预期的内存位置或执行无效的数学运算,从而触发Rust语言的panic机制。OpenPGP协议中的PKESK和SKESK数据包用于传递加密会话密钥,是加密消息的重要组成部分。攻击者可以利用OpenPGP消息的正常交互流程,在加密消息中嵌入恶意构造的这些数据包,诱使受害者在解密处理时触发该漏洞。由于该漏洞发生在密钥处理阶段,任何接收到并尝试解密此类恶意OpenPGP消息的Sequoia应用都可能崩溃。