RUSTSEC-2025-0165

Source
https://rustsec.org/advisories/RUSTSEC-2025-0165
Import Source
https://github.com/rustsec/advisory-db/blob/osv/crates/RUSTSEC-2025-0165.json
JSON Data
https://api.osv.dev/v1/vulns/RUSTSEC-2025-0165
Published
2025-07-04T12:00:00Z
Modified
2026-06-29T15:15:03.953457047Z
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.

Because 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.

Starting with 0.10.0 the crate was restructured and these accessors are no longer reachable from outside the crate.

Database specific
{
    "license": "CC0-1.0"
}
References

Affected packages

crates.io / i_tree

Package

Affected ranges

Type
SEMVER
Events
Introduced
0.0.0-0
Fixed
0.10.0

Ecosystem specific

{
    "affected_functions": null,
    "affects": {
        "os": [],
        "functions": [
            "i_tree::tree::Tree::mut_node",
            "i_tree::tree::Tree::node"
        ],
        "arch": []
    }
}

Database specific

categories
[]
source
"https://github.com/rustsec/advisory-db/blob/osv/crates/RUSTSEC-2025-0165.json"
informational
"unsound"
cvss
null