GitHub Advisoryadvisory · crates.io
GHSA-h5j3-crg5-8jqm orx-pinned-vec has undefined behavior in index_of_ptr with empty slices
LOW
Official page ↗
- Ecosystem
- crates.io
- Packages
- orx-pinned-vec
- Severity
- Low
- CVSS vector
- CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:P
- Weaknesses
- CWE-119, CWE-191
- Reviewed
- 2025-10-21
Affected packages
• crates.io orx-pinned-vec: < 3.21.0 → fixed in 3.21.0
Description
The safe function `index_of_ptr` causes undefined behavior when called with an empty slice.
The issue occurs in the line `ptr.add(slice.len() - 1)` which underflows when `slice.len()` is 0, creating a pointer with a massive offset. According to Rust's safety rules, creating such a pointer causes immediate undefined behavior.
Related
References
- https://github.com/orxfun/orx-pinned-vec/issues/52 web
- https://github.com/orxfun/orx-pinned-vec/pull/53 web
- https://github.com/orxfun/orx-pinned-vec/commit/4a4007a1aaff25cd417853c76163883a7110e276 web
- https://github.com/orxfun/orx-pinned-vec package
- https://rustsec.org/advisories/RUSTSEC-2025-0106.html web