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

RUSTSEC-2026-0256

Affected Products

Circular-Buffer