漏洞概述 CVE-2025-66442 - 编译器引发的常量时间违规 现代版本的 Clang 编译器在启用 LLVM 的 优化特性时,会在某些平台的填充验证代码中引入时序侧信道。该优化会将原本常量时间的代码分支转换为非常量时间的等效代码,导致攻击者可通过精确的时序测量实施填充预言攻击(padding oracle attack),从而解密目标密文。 核心问题:编译器优化破坏了密码库中专门编写的常量时间保护代码,使得填充验证的时序依赖于秘密数据。 --- 影响范围 具体脆弱功能: RSA-PKCS#1 v1.5 解密 One-and-zeros 解填充( ) 攻击效果:攻击者可提交选定密文,通过精确测量解密时序来恢复密文内容(非密钥)。 --- 修复方案 临时缓解措施 使用 Clang 默认优化级别( 或更低,如 、 ) 避免使用高级编译器优化选项,特别是 优先使用 AEAD 模式替代 CBC 模式,使用 RSA-OAEP 替代 PKCS#1v1.5 正式修复 受影响用户应重新编译,禁用 LLVM 选项,仅使用默认优化标志(如 或 ) > ⚠️ 当前状态:暂无可用代码修复(No fix is available at this time)