Описание
RustCrypto CMOV provides conditional move CPU intrinsics which are guaranteed on major platforms to execute in constant-time and not be rewritten as branches by the compiler. From 0.1.1 until 0.5.4, the aarch64 implementations of Cmov and CmovEq in cmov/src/backends/aarch64.rs assume high bits are zero-extended when loading values smaller than a register, so set high bits such as [8..] in a Cmov selector or [16..] of self or other in the u16 and i16 CmovEq implementations can cause left.cmovz(&right, condition) to produce incorrect output. This issue is fixed in version 0.5.4.
EPSS
Дефекты
Связанные уязвимости
(RustCrypto CMOV provides conditional move CPU intrinsics which are gua ...)
RustCrypto CMOV provides conditional move CPU intrinsics which are gua ...
Cmov/CmovEq on aarch64 can produce wrong results if high-bits of registers are set
EPSS