RustCrypto cmov: thumbv6m-none-eabi compiler emits non-constant time assembly when using cmovnz
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
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
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| RustCrypto | utils | before 0.4.4 | 0.4.4 | Patch available | CNA |
| — | cmov (crates.io) | before 0.4.4 | 0.4.4 | Patch available | GHSA-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
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:rustcrypto:cmov:*:*:*:*:*:rust:*:* | before 0.4.4 | Vulnerable | RustCrypto |
- 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
- 2026-10-02 Threatist record created from CVE-2026-23519
- 2026-10-03 Alias added: GHSA-2gqc-6j2q-83qp
References
More RustCrypto Cmov vulnerabilities
- 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
- CVE-2026-23519 · CVE Program
- CVE-2026-23519 · NVD
- FIRST EPSS
- GHSA-2gqc-6j2q-83qp · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences