---
id: RUSTSEC-2025-0170
title: '`hugepage_rs::dealloc` may allow invalid memory deallocation from safe code'
summary: '`hugepage_rs::dealloc` may allow invalid memory deallocation from safe code'
severity: none
vendor: hugepage-rs
product: hugepage-rs
ecosystem: rust
affected:
  - 'hugepage-rs >= 0.0.0-0, < 0.1.1'
patched:
  - hugepage-rs 0.1.1
published: '2025-04-24'
updated: '2026-08-12'
source: OSV
sourceUrl: 'https://osv.dev/vulnerability/RUSTSEC-2025-0170'
references:
  - url: 'https://crates.io/crates/hugepage-rs'
  - url: 'https://rustsec.org/advisories/RUSTSEC-2025-0170.html'
  - url: 'https://github.com/cppcoffee/hugepage-rs/issues/5'
  - url: 'https://github.com/cppcoffee/hugepage-rs/pull/6'
  - url: >-
      https://github.com/cppcoffee/hugepage-rs/commit/2b30bdf227f39b1c9ed7af16ea0cc3957f88da18
tags:
  - osv
  - rust
ingestedAt: '2026-08-12T19:18:08.904Z'
---

## Overview

`hugepage_rs::dealloc` was a publicly accessible safe function. It accepted an arbitrary raw pointer and `Layout`, then forwarded them to the hugepage allocator's `GlobalAlloc::dealloc` implementation.

`GlobalAlloc::dealloc` requires callers to ensure that the pointer denotes a block of memory currently allocated by the allocator and that the layout is the same layout used for the allocation. The safe wrapper neither verified these requirements nor marked them as
unsafe preconditions for callers.

Affected versions therefore allowed safe Rust code to call `dealloc` with an invalid pointer, a pointer not allocated by the hugepage allocator, or an incorrect layout, which could cause undefined behavior.

The upstream repository fixed this in version `0.1.1` by marking `dealloc` as unsafe and documenting the caller's safety requirements.

## Affected packages

- `hugepage-rs >= 0.0.0-0, < 0.1.1`

## Remediation

Upgrade to a patched release:

- `hugepage-rs 0.1.1`
