Highlights
Timing Attack: 2 prior fixes. Scrutinize any change in this area.
curve25519-dalek: most-fixed (2 issues). Treat as high-risk during review.
3 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.
Timing Side-Channel: Compiler optimization passes (specifically LLVM) repeatedly optimize away manual constant-time barriers in scalar subtraction, introducing branch instructions that depend on secret data. This is a critical risk addressed by multiple fixes and tracked via CVE-2024-58262.
Information Disclosure: Deriving standard debugging traits on key structures can automatically expose raw private keys (such as 'secret_key') in debug formatting and application logs, requiring manual trait overrides to prevent leakage.
Side-Channel Vulnerability: Performing standard, variable-time comparisons on keys or cryptographic structures creates timing side-channels. This requires explicit implementation of ConstantTimeEq and PartialEq.