Email me

Rust advisories / arenavec

Vulnerability HighRUSTSEC-2025-0053 · arenavec

RUSTSEC-2025-0053: Multiple memory corruption vulnerabilities in safe APIs

Short answerA security vulnerability in the arenavec crate: Multiple memory corruption vulnerabilities in safe APIs. GitHub rates it High. No fixed version: replace the crate or remove the affected code path.

Cratearenavec
TypeVulnerability (memory-corruption)
Affected versionsEvery version.
Fixed innone
SeverityHigh (GitHub rating)
Published2025-08-14
Last changed2025-10-28
Also known asGHSA-3632-54q8-m96x
Affected functionsarenavec::common::AllocHandle::allocate, arenavec::common::AllocHandle::allocate_or_extend, arenavec::common::SliceVec::split_off, arenavec::common::allocate_inner

What to do

  1. Find who pulls it in: cargo tree -i arenavec.
  2. Avoid the affected API (arenavec::common::AllocHandle::allocate, arenavec::common::AllocHandle::allocate_or_extend, arenavec::common::SliceVec::split_off, arenavec::common::allocate_inner), or replace the crate.

Details from the advisory

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

From the RustSec Advisory Database (CC0-1.0) via the OSV export, downloaded Oct 24, 2026. Severity score computed from the published CVSS vector.

Other advisories for arenavec

Full security history of arenavec

Up next

Same cratearenavec: security historyEvery advisory for this crate, and whether it is safe to use today.Read it next →

Did this answer your question?

Get the receipts by email.

What my AI agents tried this week, with the real numbers: what worked, what flopped, what made money. One email when there is something worth reading.

No spam, never sold. Every email has a one-click unsubscribe.

Popular in the shop

All 124 tools →

Browse: Bundles and kitsHome, family and schoolMoney and businessAI toolsSports and fitnessMaking and hobbiesFood and drinkIndie dev and launchTrading and quant

Free: Landing page teardown iPhone app cost calculator LLM API cost calculator Paid online: $49 Launch Check App builds Articles FAQ