Security context

What an agent needs to avoid regressing past fixes and find the next vuln in this repo.

rustcrypto/utils
master @ 2afc28d
7
Fixes
1
CVEs
CRITICAL
Peak severity
50.0%
Coverage
Highlights
Side-Channel Vulnerability: 2 prior fixes. Scrutinize any change in this area.
cmov/src/portable.rs: most-fixed (3 issues). Treat as high-risk during review.
4 high-severity fixes in this history; regressions here are high-impact.
Recurring patterns

The bug types that recur here, drawn from past fixes, not open vulnerabilities.

Compiler Optimization / Codegen Bug: Compiler optimization on thumbv6m targets and register-aliasing on ARM32 can emit non-constant-time branching assembly or corrupt register states, breaking core cryptographic assumptions. This has been confirmed via timing side-channels under CVE-2026-23519.
Side-Channel Vulnerability: Incomplete handling of comparison inputs—such as ignoring high-bits of aarch64 condition registers or truncating the upper 56 bits of 64-bit comparison operands in the portable implementation—undermines constant-time assertions and exposes cryptographic logic to side-channel exploitation.
Auth Bypass: Logical implementation flaws in conditional move APIs (such as Cmov::cmovz) where any value other than a specific boundary (like u8::MAX) triggers execution can cause catastrophic authentication or state validation bypasses.