{"id":"GHSA-x3f4-45xf-rjm7","aliases":["RUSTSEC-2024-0400"],"status":"published","title":"`ruzstd` uninit and out-of-bounds memory reads","description":"Affected versions of `ruzstd` miscalculate the length of the allocated and init section of its internal `RingBuffer`, leading to uninitialized or out-of-bounds reads in `copy_bytes_overshooting` of up to 15 bytes.\n\nThis may result in up to 15 bytes of memory contents being written into the decoded data when decompressing a crafted archive. This may occur multiple times per archive.","facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-125"],"published":"2024-11-28T12:00:00Z","modified":"2026-09-10T03:50:21Z","fixes":[{"ecosystem":"crates.io","package":"ruzstd","fixed_in":["0.7.3"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"crates.io","package":"ruzstd","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.7.0"},{"fixed":"0.7.3"}]}]},{"source":"osv","ecosystem":"crates.io","package":"ruzstd","ranges":[{"type":"SEMVER","events":[{"introduced":"0.7.0"},{"fixed":"0.7.3"}]}]},{"source":"osv","ecosystem":"crates.io","package":"ruzstd","ranges":[{"type":"SEMVER","events":[{"introduced":"0.7.0"},{"fixed":"0.7.3"}]}]}],"references":[{"url":"https://github.com/KillingSpark/zstd-rs/issues/75","tags":["web","report"]},{"url":"https://github.com/KillingSpark/zstd-rs/pull/76","tags":["web"]},{"url":"https://rustsec.org/advisories/RUSTSEC-2024-0400.html","tags":["web","advisory"]},{"url":"https://github.com/advisories/GHSA-x3f4-45xf-rjm7"},{"url":"https://github.com/KillingSpark/zstd-rs","tags":["package"]},{"url":"https://crates.io/crates/ruzstd","tags":["package"]}],"sources":{"ghsa":[{"id":"GHSA-x3f4-45xf-rjm7","title":"`ruzstd` uninit and out-of-bounds memory reads","description":"Affected versions of `ruzstd` miscalculate the length of the allocated and init section of its internal `RingBuffer`, leading to uninitialized or out-of-bounds reads in `copy_bytes_overshooting` of up to 15 bytes.\n\nThis may result in up to 15 bytes of memory contents being written into the decoded data when decompressing a crafted archive. This may occur multiple times per archive.\n","status":"published","published":"2024-12-02T21:34:27Z","modified":"2024-12-02T21:34:27Z","cwes":["CWE-125"],"updated_at":"2026-11-02T14:38:24.542211Z"}],"osv":[{"id":"GHSA-x3f4-45xf-rjm7","title":"`ruzstd` uninit and out-of-bounds memory reads","description":"Affected versions of `ruzstd` miscalculate the length of the allocated and init section of its internal `RingBuffer`, leading to uninitialized or out-of-bounds reads in `copy_bytes_overshooting` of up to 15 bytes.\n\nThis may result in up to 15 bytes of memory contents being written into the decoded data when decompressing a crafted archive. This may occur multiple times per archive.\n","status":"published","published":"2024-12-02T21:34:27Z","modified":"2026-09-10T03:50:21.770869461Z","cwes":["CWE-125"],"updated_at":"2026-11-02T15:46:59.484835Z"},{"id":"RUSTSEC-2024-0400","title":"`ruzstd` uninit and out-of-bounds memory reads","description":"Affected versions of `ruzstd` miscalculate the length of the allocated\nand init section of its internal `RingBuffer`, leading to uninitialized\nor out-of-bounds reads in `copy_bytes_overshooting` of up to 15 bytes.\n\nThis may result in up to 15 bytes of memory contents being written\ninto the decoded data when decompressing a crafted archive.\nThis may occur multiple times per archive.","status":"published","published":"2024-11-28T12:00:00Z","modified":"2025-10-28T06:29:26.723756Z","updated_at":"2026-11-02T15:53:39.971022Z"}]}}
