Highlights
Insecure Cryptography: 1 prior fix. Scrutinize any change in this area.
nanorand/src/tls.rs: 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.
Memory Corruption: The use of raw pointers inside thread-local storage structures (TlsWyRand) caused a Use-After-Free risk because the lifetime of the pointer was not tied to the thread lifecycle, requiring a migrate to reference-counted pointers.
Memory Safety: Using UnsafeCell in thread-local generators allowed aliasing of mutable references, leading to undefined behavior that required wrapping in a dynamically checked RefCell.
Insecure Cryptography: The presence of a system-time-based fallback entropy source yielded highly predictable outputs, weakening the cryptographic strength of the generator when primary entropy sources failed.