RUSTSEC-2025-0170

Source
https://rustsec.org/advisories/RUSTSEC-2025-0170
Import Source
https://github.com/rustsec/advisory-db/blob/osv/crates/RUSTSEC-2025-0170.json
JSON Data
https://api.osv.dev/v1/vulns/RUSTSEC-2025-0170
Published
2025-04-24T12:00:00Z
Modified
2026-08-12T09:45:03.538822504Z
Summary
`hugepage_rs::dealloc` may allow invalid memory deallocation from safe code
Details

hugepage_rs::dealloc was a publicly accessible safe function. It accepted an arbitrary raw pointer and Layout, then forwarded them to the hugepage allocator's GlobalAlloc::dealloc implementation.

GlobalAlloc::dealloc requires callers to ensure that the pointer denotes a block of memory currently allocated by the allocator and that the layout is the same layout used for the allocation. The safe wrapper neither verified these requirements nor marked them as unsafe preconditions for callers.

Affected versions therefore allowed safe Rust code to call dealloc with an invalid pointer, a pointer not allocated by the hugepage allocator, or an incorrect layout, which could cause undefined behavior.

The upstream repository fixed this in version 0.1.1 by marking dealloc as unsafe and documenting the caller's safety requirements.

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

Affected packages

crates.io / hugepage-rs

Package

Affected ranges

Type
SEMVER
Events
Introduced
0.0.0-0
Fixed
0.1.1

Ecosystem specific

{
    "affects": {
        "arch": [],
        "os": [],
        "functions": [
            "hugepage_rs::dealloc"
        ]
    },
    "affected_functions": null
}

Database specific

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