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.
Metrics
Affected Vendors & Products
References
History
Tue, 18 Aug 2026 16:15:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Rustcrypto cmov
|
|
| CPEs | cpe:2.3:a:rustcrypto:cmov:*:*:*:*:*:rust:*:* | |
| Vendors & Products |
Rustcrypto cmov
|
|
| Metrics |
cvssV3_1
|
Mon, 20 Jul 2026 20:30:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
Fri, 17 Jul 2026 21:30:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Rustcrypto
Rustcrypto utils |
|
| Vendors & Products |
Rustcrypto
Rustcrypto utils |
Fri, 17 Jul 2026 19:00:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Description | 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. | |
| Title | RustCrypto Cmov/CmovEq on aarch64 can produce wrong results if high-bits of registers are set | |
| Weaknesses | CWE-758 | |
| References |
| |
| Metrics |
cvssV4_0
|
Status: PUBLISHED
Assigner: GitHub_M
Published: 2026-07-17T18:35:02.078Z
Updated: 2026-07-20T19:24:54.587Z
Reserved: 2026-06-03T22:05:13.644Z
Link: CVE-2026-50185
Updated: 2026-07-20T19:24:39.933Z
Status : Analyzed
Published: 2026-07-17T19:17:16.370
Modified: 2026-08-18T16:03:43.310
Link: CVE-2026-50185
No data.