{"id":"GHSA-wwxp-hxh6-8gf8","aliases":["RUSTSEC-2025-0109"],"status":"published","title":"binary_vec_io access memory out-of-bounds in binary_read_to_ref and binary_write_from_ref","description":"Safe functions accept a single `\u0026T` or `\u0026mut T` but multiply by `n` to create slices extending beyond allocated memory when `n \u003e 1`.\n\nThese functions use `from_raw_parts` to create slices larger than the underlying allocation, violating memory safety.\n\nThe binary_vec_io repository is archived and unmaintained.","severity":{"version":"4.0","score":7.3,"vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:P","level":"high","from":"ghsa"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-120"],"published":"2025-10-21T12:00:00Z","modified":"2025-10-28T06:29:26Z","affected":[{"source":"ghsa","ecosystem":"crates.io","package":"binary_vec_io","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"0.1.12"}]}]},{"source":"osv","ecosystem":"crates.io","package":"binary_vec_io","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"last_affected":"0.1.12"}]}]},{"source":"osv","ecosystem":"crates.io","package":"binary_vec_io","ranges":[{"type":"SEMVER","events":[{"introduced":"0.0.0-0"}]}]}],"references":[{"url":"https://github.com/RustSec/advisory-db/pull/2428","tags":["web"]},{"url":"https://gist.github.com/lewismosciski/57ac3b8b7a861abdd0d7ae6f39de5a9d","tags":["web"]},{"url":"https://rustsec.org/advisories/RUSTSEC-2025-0109.html","tags":["web","advisory"]},{"url":"https://github.com/advisories/GHSA-wwxp-hxh6-8gf8"},{"url":"https://github.com/10XGenomics/rust-toolbox","tags":["package"]},{"url":"https://crates.io/crates/binary_vec_io","tags":["package"]}],"sources":{"ghsa":[{"id":"GHSA-wwxp-hxh6-8gf8","title":"binary_vec_io access memory out-of-bounds in binary_read_to_ref and binary_write_from_ref","description":"Safe functions accept a single `\u0026T` or `\u0026mut T` but multiply by `n` to create slices extending beyond allocated memory when `n \u003e 1`.\n\nThese functions use `from_raw_parts` to create slices larger than the underlying allocation, violating memory safety.\n\nThe binary_vec_io repository is archived and unmaintained.","status":"published","published":"2025-10-22T21:47:59Z","modified":"2025-10-22T21:48:02Z","cvss":[{"version":"4.0","score":7.3,"vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:P","level":"high"}],"cwes":["CWE-120"],"updated_at":"2026-11-02T14:39:03.380616Z"}],"osv":[{"id":"GHSA-wwxp-hxh6-8gf8","title":"binary_vec_io access memory out-of-bounds in binary_read_to_ref and binary_write_from_ref","description":"Safe functions accept a single `\u0026T` or `\u0026mut T` but multiply by `n` to create slices extending beyond allocated memory when `n \u003e 1`.\n\nThese functions use `from_raw_parts` to create slices larger than the underlying allocation, violating memory safety.\n\nThe binary_vec_io repository is archived and unmaintained.","status":"published","published":"2025-10-22T21:47:59Z","modified":"2025-10-28T06:29:26.662863Z","cvss":[{"version":"4.0","score":7.3,"vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:P","level":"high"}],"cwes":["CWE-120"],"updated_at":"2026-11-02T15:46:59.131095Z"},{"id":"RUSTSEC-2025-0109","title":"Out-of-bounds memory access in binary_read_to_ref and binary_write_from_ref","description":"Safe functions accept a single `\u0026T` or `\u0026mut T` but multiply by `n` to create slices extending beyond allocated memory when `n \u003e 1`.\n\nThese functions use `from_raw_parts` to create slices larger than the underlying allocation, violating memory safety.\n\nThe binary_vec_io repository is archived and unmaintained.","status":"published","published":"2025-10-21T12:00:00Z","modified":"2025-10-28T06:29:26.662863Z","updated_at":"2026-11-02T15:53:39.971022Z"}]}}
