GHSA-FP5X-7M4Q-449F
Vulnerability from github – Published: 2025-10-21 21:57 – Updated: 2025-10-21 21:57
VLAI?
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.
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.
Severity ?
{
"affected": [
{
"package": {
"ecosystem": "crates.io",
"name": "direct_ring_buffer"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "0.2.2"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [],
"database_specific": {
"cwe_ids": [
"CWE-908"
],
"github_reviewed": true,
"github_reviewed_at": "2025-10-21T21:57:31Z",
"nvd_published_at": null,
"severity": "LOW"
},
"details": "The safe function `create_ring_buffer` allocates a buffer using `Vec::with_capacity` followed by `set_len`, creating a `Box\u003c[T]\u003e` containing uninitialized memory.\n\nThis leads to undefined behavior when functions like `write_slices` create typed slices (e.g., `\u0026mut [bool]`) over the uninitialized memory, violating Rust\u0027s 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.",
"id": "GHSA-fp5x-7m4q-449f",
"modified": "2025-10-21T21:57:32Z",
"published": "2025-10-21T21:57:31Z",
"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"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "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",
"type": "CVSS_V4"
}
],
"summary": "Direct Ring Buffer has uninitialized memory exposure in create_ring_buffer"
}
Loading…
Loading…
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
Loading…