# RUSTSEC-2026-0282: Double free in `AlignedBox<[T]>::realloc_with_default` when an element's `Drop` panics

> A double free vulnerability in AlignedBox allows attackers to trigger memory corruption and potential code execution via panicking Drop implementations.

- **Severity:** Not scored
- **Exploited in the wild:** Not known
- **Login needed:** Not needed
- **Attackable:** Not stated
- **Victim action needed:** Not needed
- **Fix available:** Yes
- **Published:** 9 Sep 2026

## What is RUSTSEC-2026-0282?

RUSTSEC-2026-0282 is an use after free vulnerability in aligned_box, published on 9 Sep 2026. 

### Official description

Shrinking an `AlignedBox<[T]>` takes ownership of the buffer out of
`self.container` with `ManuallyDrop::take`, destroys the elements past the new
length, and only then commits the new `Box` back into `self.container`.
`ManuallyDrop::take` moves ownership but not the bits, so until that commit
`self.container` still points at the original buffer.

`T::drop` runs inside the destruction loop and is user code — `T` carries no
bound that would exclude a panicking `Drop`. If it unwinds, the commit is
skipped and `self.container` is left pointing at the buffer whose tail has
already been destroyed. `AlignedBox`'s own destructor then reconstructs a `Box`
from that pointer, drops every element again and deallocates — a double free
(CWE-415) / use-after-free (CWE-416) reachable from safe Rust.

Growing the slice destroys nothing and is unaffected, as is
`realloc_with_value`, which requires `T: Copy` and therefore a `Drop` that
cannot run.

## Mitigation

Update to 0.3.1.

## Which versions are affected by RUSTSEC-2026-0282?

1 open source package ship an affected version, including aligned_box.


| Package | Ecosystem | Affected | Fixed in |
| --- | --- | --- | --- |
| `aligned_box` | crates.io | From 0.0.0-0 | 0.3.1 |

## How do I fix RUSTSEC-2026-0282?

Upgrade aligned_box to 0.3.1 or later.

## Is RUSTSEC-2026-0282 being exploited?

There is no known exploitation of RUSTSEC-2026-0282 in the wild and no public exploit code.

## Fix prompt for AI coding agents

```text
Check this codebase for RUSTSEC-2026-0282 and fix it if it is affected.

What it is: RUSTSEC-2026-0282 is an use after free vulnerability in aligned_box, published on 9 Sep 2026. 
Exploitation: There is no known exploitation of RUSTSEC-2026-0282 in the wild and no public exploit code.

Affected packages and fixed versions:
- aligned_box (crates.io): affected from 0.0.0-0; fixed in 0.3.1

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/RUSTSEC-2026-0282/ (Markdown: https://insights.sbomify.com/RUSTSEC-2026-0282/index.md)
```

## Sources

- OSV: https://osv.dev/vulnerability/RUSTSEC-2026-0282

---
From sbomify Insights: https://insights.sbomify.com/RUSTSEC-2026-0282/
Summaries are generated and may contain mistakes; the official description above is the record.
