Read the docs
TI-2026-18943 Aliases CVE-2026-23519GHSA-2gqc-6j2q-83qp

RustCrypto cmov: thumbv6m-none-eabi compiler emits non-constant time assembly when using cmovnz

Priority HIGH 72CWE-208Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
High
Attack requirements
None
Impact type
Information disclosure
Confidentiality · integrity · availability
High · None · None
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub. Impact type from CWE-208.

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. Prior to 0.4.4, the thumbv6m-none-eabi (Cortex M0, M0+ and M1) compiler emits non-constant time assembly when using cmovnz (portable version). This vulnerability is fixed in 0.4.4.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00558 46th percentileScored 2026-11-07
Public exploit Yes 1 exploit referenceTagged by NVD
Fix Fixed utils (RustCrypto): 0.4.4cmov (crates.io): 0.4.4

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
RustCryptoutilsbefore 0.4.40.4.4Patch availableCNA
—cmov (crates.io)before 0.4.40.4.4Patch availableGHSA-2gqc-6j2q-83qp
  • utils VendorRustCrypto Affected before 0.4.4 Fixed in 0.4.4 Patch available CNA
  • cmov (crates.io) Vendor— Affected before 0.4.4 Fixed in 0.4.4 Patch available GHSA-2gqc-6j2q-83qp

CPE configurations NVD · 1

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

Remediation

  • Fix · CNA utils (RustCrypto) Fixed in 0.4.4
  • Fix · GHSA-2gqc-6j2q-83qp cmov (crates.io) Fixed in 0.4.4 Advisory →

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-23519
  2. 2026-10-03 Alias added: GHSA-2gqc-6j2q-83qp

References

  • TI-2026-36944 RustCrypto Cmov/CmovEq on aarch64 can produce wrong results if high-bits of registers are set CVSS 4.0LOW 2.0

Sources