GHSA-77h3-w9rx-hj3q User-defined implementations of the safe trait scratchpad::Tracking can cause heap buffer overflows
A Rust library allows heap buffer overflows via user-defined trait implementations, potentially enabling arbitrary code execution or crashes.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Not stated
- Victim action needed
- Not needed
- Fix
- None listed
What is GHSA-77h3-w9rx-hj3q?
GHSA-77h3-w9rx-hj3q is a memory corruption vulnerability in scratchpad, published on 14 Aug 2025.
Official description
The get and set methods of the public trait scratchpad::Tracking interact with unsafe code regions in the crate, and they influence the computation of addresses returned as raw pointers. However, the trait itself is not marked as unsafe, meaning users may provide custom implementations under the assumption that the crate upholds all safety guarantees.
This becomes problematic because even safe implementations of get and set-written without using any unsafe code-can still result in ill-formed raw pointers. These pointers may later be dereferenced within safe APIs of the crate (e.g., marker::MarkerBack::allocate_slice_copy), potentially leading to arbitrary memory access or heap buffer overflows.
According to the penultimate commit, the crate is in maintenance mode awaiting a cleanup that will reduce the area of unsafe code. Note that the last commits to the repository are from 4 years ago.
Which versions are affected by GHSA-77h3-w9rx-hj3q?
3 open source packages ship an affected version, including scratchpad.
| Package | Affected | Fixed in |
|---|---|---|
scratchpad crates.io | All versions to 1.3.1 | None |
scratchpad crates.io | All versions to 1.3.1 | None |
scratchpad crates.io | From 0.0.0-0 | None |
How do I fix GHSA-77h3-w9rx-hj3q?
No fix has been published for GHSA-77h3-w9rx-hj3q yet. Limit exposure of the affected software until one is available.
Upgrade to the fixed version. Memory-safe languages, compiler hardening and fuzzing prevent most new cases. More about Memory corruption.
Is GHSA-77h3-w9rx-hj3q being exploited?
There is no known exploitation of GHSA-77h3-w9rx-hj3q in the wild and no public exploit code.
Sources
Also known as RUSTSEC-2025-0049.