Security context

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

async-rs/async-std
main @ 844b552
3
Fixes
0
CVEs
HIGH
Peak severity
Highlights
Memory Corruption: 2 prior fixes. Scrutinize any change in this area.
src/future/future/delay.rs: most-fixed (1 issue). 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: Manual structural pinning via unsafe macros bypasses safety guarantees, potentially leading to invalid projection and memory corruption. Utilizing safe abstractions like pin-project-lite is critical to prevent undefined behavior during future and stream polling.
Memory Corruption: Similar to the stream timeout component, manual implementation of pin projection via unsafe macros introduces risk of memory safety violations in future execution. Maintaining safe pinning boundaries is crucial for async execution safety.
Data Race: Implementing the Sync trait without enforcing that the wrapped type is also Sync allows non-thread-safe types to be accessed concurrently across threads, causing data races and memory corruption.