{"id":"RUSTSEC-2025-0165","summary":"i_tree allowed out-of-bounds access through safe public node accessors","details":"Affected versions of `i_tree` exposed safe public `Tree::node` and `Tree::mut_node` methods in the public `tree` module. These methods accepted an arbitrary `u32` index and passed it directly to `Vec::get_unchecked` / `get_unchecked_mut` on the internal node buffer, without validating that the index was in bounds.\n\nBecause these methods were safe and public, a caller could pass an out-of-bounds index without writing any `unsafe` code, producing an out-of-bounds shared or mutable reference and triggering undefined behavior.\n\nStarting with `0.10.0` the crate was restructured and these accessors are no longer reachable from outside the crate.","modified":"2026-06-29T15:15:03.953457047Z","published":"2025-07-04T12:00:00Z","database_specific":{"license":"CC0-1.0"},"references":[{"type":"PACKAGE","url":"https://crates.io/crates/i_tree"},{"type":"ADVISORY","url":"https://rustsec.org/advisories/RUSTSEC-2025-0165.html"},{"type":"REPORT","url":"https://github.com/iShape-Rust/iTree/issues/1"},{"type":"WEB","url":"https://github.com/iShape-Rust/iTree/commit/a948b891cf159233bfed5b16bf185268fd9e1985"},{"type":"WEB","url":"https://github.com/iShape-Rust/iTree/compare/0.9.0...0.10.0"}],"affected":[{"package":{"name":"i_tree","ecosystem":"crates.io","purl":"pkg:cargo/i_tree"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0.0.0-0"},{"fixed":"0.10.0"}]}],"ecosystem_specific":{"affects":{"functions":["i_tree::tree::Tree::mut_node","i_tree::tree::Tree::node"],"arch":[],"os":[]},"affected_functions":null},"database_specific":{"source":"https://github.com/rustsec/advisory-db/blob/osv/crates/RUSTSEC-2025-0165.json","categories":[],"cvss":null,"informational":"unsound"}}],"schema_version":"1.7.5"}