{"id":"GHSA-fp5x-7m4q-449f","aliases":["RUSTSEC-2025-0105"],"url":"https://o3.security/vulnerability/GHSA-fp5x-7m4q-449f","summary":"Direct Ring Buffer has uninitialized memory exposure in create_ring_buffer","details":"The safe function `create_ring_buffer` allocates a buffer using `Vec::with_capacity` followed by `set_len`, creating a `Box<[T]>` containing uninitialized memory.\n\nThis leads to undefined behavior when functions like `write_slices` create typed slices (e.g., `&mut [bool]`) over the uninitialized memory, violating Rust's validity invariants. The issue has been confirmed using Miri.\n\nFixed in version 0.2.2 by using `resize_with` to properly initialize the buffer with `T::default()`, adding a `T: Default` bound to ensure sound initialization.","published":"2025-10-21T21:57:31Z","modified":"2025-10-28T06:29:24.396422Z","cvss":null,"epss":null,"cisaKev":null,"exploitsKnown":0,"affectedPackages":[{"ecosystem":"crates.io","name":"direct_ring_buffer","fixedVersion":"0.2.2"}],"fix":{"url":"https://github.com/ain1084/direct_ring_buffer/pull/2","label":"ain1084/direct_ring_buffer#2"},"references":[{"type":"WEB","url":"https://github.com/ain1084/direct_ring_buffer/issues/1"},{"type":"WEB","url":"https://github.com/ain1084/direct_ring_buffer/pull/2"},{"type":"PACKAGE","url":"https://github.com/ain1084/direct_ring_buffer"},{"type":"WEB","url":"https://rustsec.org/advisories/RUSTSEC-2025-0105.html"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2025-10-28T06:29:24.396422Z"}}