GHSA-fp5x-7m4q-449f
Direct Ring Buffer has uninitialized memory exposure in create_ring_buffer
The safe function create_ring_buffer allocates a buffer using Vec::with_capacity followed by set_len, creating a Box<[T]> containing uninitialized memory.
This 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.
Fixed 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.
Attack profile
How easy it is to exploit
- Attack vector
- Local
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- Low
What each source reports
GitHub Advisories Score used 2.0
Direct Ring Buffer has uninitialized memory exposure in create_ring_buffer
The safe function create_ring_buffer allocates a buffer using Vec::with_capacity followed by set_len, creating a Box<[T]> containing uninitialized memory.
This 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.
Fixed 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.
- Record
GHSA-fp5x-7m4q-449f- CVSS 4.0
- 2.0 Low
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:P - Weakness
- CWE-908
- Updated
- 2026-11-02
OSV 2.0
Direct Ring Buffer has uninitialized memory exposure in create_ring_buffer
The safe function create_ring_buffer allocates a buffer using Vec::with_capacity followed by set_len, creating a Box<[T]> containing uninitialized memory.
This 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.
Fixed 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.
- Record
GHSA-fp5x-7m4q-449f- CVSS 4.0
- 2.0 Low
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:P - Weakness
- CWE-908
- Updated
- 2026-11-02
OSVRUSTSEC-2025-0105No score
Uninitialized memory exposure in create_ring_buffer
The safe function create_ring_buffer allocates a buffer using Vec::with_capacity followed by set_len, creating a Box<[T]> containing uninitialized memory.
This 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.
Fixed 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.
- Record
RUSTSEC-2025-0105- Updated
- 2026-11-02
Affected packages
| Package | Affected | Fixed |
|---|---|---|
direct_ring_buffercrates.io | before 0.2.2 | 0.2.2 |
direct_ring_buffercrates.io | 0.0.0-0 up to 0.2.2 | 0.2.2 |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | GitHub Advisories, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
GHSA-fp5x-7m4q-449f is a low vulnerability (CVSS 2.0) in direct_ring_buffer, published October 21, 2025. No source lists public exploit code. Fixed in direct_ring_buffer 0.2.2.