RUSTSEC-2025-0164

Source
https://rustsec.org/advisories/RUSTSEC-2025-0164
Import Source
https://github.com/rustsec/advisory-db/blob/osv/crates/RUSTSEC-2025-0164.json
JSON Data
https://api.osv.dev/v1/vulns/RUSTSEC-2025-0164
Published
2025-04-24T12:00:00Z
Modified
2026-06-23T11:30:04.212001361Z
Summary
`DTriangle` accessors may read out of bounds in affected versions
Details

In affected versions, DTriangle::neighbor_by_order and DTriangle::vertex_by_order were public safe functions that accepted an arbitrary order value. These functions used order to access fixed-size internal arrays with get_unchecked, without checking whether order was within bounds. Calling these methods with an out-of-bounds order could cause an out-of-bounds read from safe Rust code. This made the old APIs unsound, since safe callers could trigger undefined behavior without using unsafe.

The issue was fixed in version 0.29.0 as part of a broader rewrite that replaced the old triangle implementation with IntTriangle and removed the affected accessor methods.

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

Affected packages

crates.io / i_triangle

Package

Affected ranges

Type
SEMVER
Events
Introduced
0.0.0-0
Fixed
0.29.0

Ecosystem specific

{
    "affects": {
        "os": [],
        "arch": [],
        "functions": [
            "i_triangle::delaunay::triangle::DTriangle::neighbor_by_order",
            "i_triangle::delaunay::triangle::DTriangle::vertex_by_order"
        ]
    },
    "affected_functions": null
}

Database specific

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