PT-2026-80712 · Crates.Io · Circular-Buffer
Published
2026-08-11
·
Updated
2026-08-11
None
No severity ratings or metrics are available. When they are, we'll update the corresponding info on the page.
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. Found an issue in the description? Have something to add? Feel free to write us 👾
Related Identifiers
Affected Products
Circular-Buffer