Read the docs
TI-2026-36944 Aliases CVE-2026-50185GHSA-3rjw-m598-pq24

RustCrypto Cmov/CmovEq on aarch64 can produce wrong results if high-bits of registers are set

Priority MEDIUM 44CWE-758Published · Updated

Key facts

Attack vector
Local
Privileges required
Low
User interaction
None
Attack complexity
Low
Attack requirements
Present
Impact type
—
Confidentiality · integrity · availability
None · Low · None
Fix status
Partial Red Hat: 1 fixed, 4 without a fix

Attack profile from CVSS 4.0 · CNA. Fix status from CNA, GitHub and Red Hat.

Summary

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.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00157 4th percentileScored 2026-11-07
Public exploit Yes 1 exploit referenceTagged by NVD
Fix Partial utils (RustCrypto): 0.5.4cmov (crates.io): 0.5.4Red Hat: 1 advisoryRed Hat: 1 fixed, 4 without a fix

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
RustCryptoutils0.1.1 to before 0.5.40.5.4Patch availableCNA
—cmov (crates.io)0.1.1 to before 0.5.40.5.4Patch availableGHSA-3rjw-m598-pq24
  • utils VendorRustCrypto Affected 0.1.1 to before 0.5.4 Fixed in 0.5.4 Patch available CNA
  • cmov (crates.io) Vendor— Affected 0.1.1 to before 0.5.4 Fixed in 0.5.4 Patch available GHSA-3rjw-m598-pq24

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:rustcrypto:cmov:*:*:*:*:*:rust:*:*0.1.1 to before 0.5.4VulnerableRustCrypto
  • cpe:2.3:a:rustcrypto:cmov:*:*:*:*:*:rust:*:* Versions 0.1.1 to before 0.5.4 Vulnerable ·RustCrypto

Remediation

  • Fix · CNA utils (RustCrypto) Fixed in 0.5.4
  • Fix · GHSA-3rjw-m598-pq24 cmov (crates.io) Fixed in 0.5.4 Advisory →

Red Hat 1 advisory

  • RHSA-2026:42923 Released 2026-07-21 · Red Hat rating Moderate
    Red Hat Hardened Images RPMs Security Update
    • Red Hat Hardened Images cargo-1.97.1-1.1.hum1@aarch64, cargo-1.97.1-1.1.hum1@x86_64, clippy-1.97.1-1.1.hum1@aarch64 +36

Vendor assessments

Red Hat

Red Hat rating: Low. Red Hat's page for this CVE →

ProductStatusPlan or fix
Confidential Compute AttestationAffected—
Red Hat Enterprise Linux 10Affected—
Red Hat Enterprise Linux 9Affected—
Red Hat Trusted Profile AnalyzerAffected—
Red Hat Hardened ImagesFixed RHSA-2026:42923
Not affected: 1 product
  • Red Hat Hardened Images

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-50185
  2. 2026-10-03 Alias added: GHSA-3rjw-m598-pq24

References

  • TI-2026-18943 RustCrypto cmov: thumbv6m-none-eabi compiler emits non-constant time assembly when using cmovnz CVSS 4.0HIGH 8.9

Sources