RUSTSEC-2026-0256
Panic-safety unsoundness in `truncate_back`, `truncate_front`, `clear`, and `extend_from_slice` (use-after-free / double-free)
Several methods in circular-buffer drop elements before updating the buffer's start/end metadata. If an element's Drop panics during the drop, the metadata update is skipped, so the buffer still treats the already-dropped elements as live. When the buffer is later dropped (or used after the panic is caught), those elements are visited again — a use-after-free / double-free reachable from safe Rust.
Impact
- CWE-415 (Double Free): the same allocation is freed twice.
- CWE-416 (Use-After-Free): a freed allocation is accessed during a repeated
Drop.
Reachable entirely from safe Rust via catch_unwind with element types whose Drop can panic.
Fix
Fixed in circular-buffer 2.0.1 by adjusting the buffer's start/end metadata before the elements are dropped.
What each source reports
OSV No score
Panic-safety unsoundness in `truncate_back`, `truncate_front`, `clear`, and `extend_from_slice` (use-after-free / double-free)
Several methods in circular-buffer drop elements before updating the buffer's start/end metadata. If an element's Drop panics during the drop, the metadata update is skipped, so the buffer still treats the already-dropped elements as live. When the buffer is later dropped (or used after the panic is caught), those elements are visited again — a use-after-free / double-free reachable from safe Rust.
Impact
- CWE-415 (Double Free): the same allocation is freed twice.
- CWE-416 (Use-After-Free): a freed allocation is accessed during a repeated
Drop.
Reachable entirely from safe Rust via catch_unwind with element types whose Drop can panic.
Fix
Fixed in circular-buffer 2.0.1 by adjusting the buffer's start/end metadata before the elements are dropped.
- Record
RUSTSEC-2026-0256- Updated
- 2026-11-02
Affected packages
| Package | Affected | Fixed |
|---|---|---|
circular-buffercrates.io |
0.0.0-0 up to 2.0.1 | 2.0.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
RUSTSEC-2026-0256 is a vulnerability with no CVSS score yet in circular-buffer, published August 11, 2026. No source lists public exploit code. Fixed in circular-buffer 2.0.1.