GHSA-3632-54q8-m96x json
arenavec has multiple memory corruption vulnerabilities in safe APIs
published last yr. modified last yr. also RUSTSEC-2025-0053
- cvss
- —
- not scored
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- —
- no score, EPSS covers CVEs only
- public exploits
- 0
- none known
Summary
The crate has the following vulnerabilities:
- The public trait `arenavec::common::AllocHandle` allows the return of raw pointers through its methods `allocate` and `allocate_or_extend`. However, the trait is not marked as unsafe, meaning users of the crate may implement it under the assumption that the library safely handles the returned raw pointers. These raw pointers can later be dereferenced within safe APIs of the crate-such as `arenavec::common::SliceVec::push`-potentially leading to arbitrary memory access.
- The safe API `arenavec::common::SliceVec::reserve` can reach the private function `arenavec::common::allocate_inner`. Incorrect behavior in `allocate_inner` may result in a `SliceVec` with an increased capacity, even though the underlying memory has not actually been expanded. This mismatch between `SliceVec.capacity` and the actual reserved memory can lead to a heap buffer overflow.
- The safe API `arenavec::common::SliceVec::split_off` can duplicate the ownership of the elements in `self` (of type `SliceVec`) if they implement the `Drop` trait. Specifically, when `at == 0`, the method returns a new `SliceVec` with the same length as `self`. Since both `self` and the returned object point to the same heap memory, dropping one will deallocate the shared memory. When the other is subsequently dropped, it will attempt to free the same memory again, resulting in a double free violation.
Is GHSA-3632-54q8-m96x in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerAffected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| crates.io | arenavec | <=0.1.1 >=0.0.0-0 |
no fix listed |
Classification
References
-
github.com
/ibabushkin/arenavec/issues/4
web, report
-
github.com
/ibabushkin/arenavec/issues/5
web, report
-
github.com
/ibabushkin/arenavec/issues/6
web, report
-
github.com
/ibabushkin/arenavec
package
-
rustsec.org
/advisories/RUSTSEC-2025-0053.html
web, advisory
-
crates.io
/crates/arenavec
package
Sources
- GitHub Advisory GHSA-3632-54q8-m96x
- OSV RUSTSEC-2025-0053
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.