Advisory Database
  • Advisories
  • Dependency Scanning
  1. cargo
  2. ›
  3. arenavec
  4. ›
  5. GHSA-3632-54q8-m96x

GHSA-3632-54q8-m96x: arenavec has multiple memory corruption vulnerabilities in safe APIs

September 2, 2025

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.

References

  • github.com/advisories/GHSA-3632-54q8-m96x
  • github.com/ibabushkin/arenavec
  • github.com/ibabushkin/arenavec/issues/4
  • github.com/ibabushkin/arenavec/issues/5
  • github.com/ibabushkin/arenavec/issues/6
  • rustsec.org/advisories/RUSTSEC-2025-0053.html

Code Behaviors & Features

Detect and mitigate GHSA-3632-54q8-m96x with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →

Affected versions

All versions up to 0.1.1

Solution

Unfortunately, there is no solution available yet.

Weakness

  • CWE-122: Heap-based Buffer Overflow
  • CWE-415: Double Free
  • CWE-822: Untrusted Pointer Dereference

Source file

cargo/arenavec/GHSA-3632-54q8-m96x.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Wed, 03 Sep 2025 12:19:31 +0000.