CVE-2026-23519CVE-2026-23519是RustCrypto项目中的CMOV(条件移动)CPU内部函数存在的一个严重定时侧信道漏洞。RustCrypto CMOV旨在为主流平台提供恒定时间执行的条件移动CPU指令 intrinsics,确保不会因编译器优化而被重写为分支语句,从而防止时序攻击。然而,在0.4.4之前的版本中,当在thumbv6m-none-eabi目标平台(Cortex M0、M0+和M1处理器)上使用cmovnz(便携版本)时,编译器会生成非恒定时间的汇编代码。该漏洞导致条件移动操作的执行时间与输入数据相关,攻击者可通过精确测量执行时间来推断敏感信息,如加密密钥、密码或其他机密数据。此漏洞影响所有使用RustCrypto CMOV库在ARM Cortex-M0/M0+/M1架构上执行密码学操作的应用程序。由于ARM Cortex-M系列处理器广泛应用于物联网设备、嵌入式系统和物联网传感器中,此漏洞可能影响大量部署的设备安全。攻击者无需认证即可远程利用此漏洞,且CVSS评分高达9.8,属于严重安全风险。
RustCrypto CMOV库在thumbv6m-none-eabi目标平台存在定时侧信道漏洞。问题根源在于cmovnz指令的便携版本实现中,当执行条件移动操作时,生成的汇编代码执行时间与条件判断结果相关。具体而言,当条件为真时执行路径与条件为假时执行路径存在可测量的时间差异。攻击者可通过以下方式利用:1) 通过反复发送精心构造的输入触发目标设备执行CMOV操作;2) 使用高精度计时器测量每次操作的执行延迟;3) 分析时间差异模式推断条件判断的内部状态;4) 逐步提取敏感数据如加密密钥位。在密码学实现中,这种定时攻击可有效破解密钥推导、签名验证等安全操作。漏洞影响所有RustCrypto版本<0.4.4在Cortex M0/M0+/M1平台上的部署。修复方案在0.4.4版本中重新实现了恒定时间执行的cmovnz操作。