rustsec-2026-0254
Vulnerability from osv_rustsec
Published
2026-08-11 12:00
Modified
2026-08-12 10:22
Summary
Panic-safety unsoundness in `Chunk` and `InlineArray` (use-after-free / double-free)
Details
Several methods in sp-sized-chunks drop elements before updating the container's length/boundary metadata. If an element's Drop panics during the drop, the metadata update is skipped, so the container still treats the already-dropped elements as live. When the container is later dropped, its own Drop re-visits those slots and drops the freed elements again — a use-after-free / double-free reachable from safe Rust.
sp-sized-chunks is a fork of sized-chunks (companion advisory filed separately) and carries the same bug. The repository is archived and the crate is still on 0.1.0 with no fix available.
Impact
- CWE-415 (Double Free): the same allocation is freed twice (e.g. an element holding
Box<T>). - CWE-416 (Use-After-Free): an element reads its own freed allocation during
Drop(e.g.String) — confirmed under AddressSanitizer.
All are reachable from safe Rust via catch_unwind with element types whose Drop can panic.
References
| URL | Type | |
|---|---|---|
{
"affected": [
{
"database_specific": {
"categories": [
"memory-corruption"
],
"cvss": null,
"informational": "unsound"
},
"ecosystem_specific": {
"affected_functions": null,
"affects": {
"arch": [],
"functions": [
"sp_sized_chunks::Chunk::clear",
"sp_sized_chunks::Chunk::drop_left",
"sp_sized_chunks::Chunk::drop_right",
"sp_sized_chunks::InlineArray::clear"
],
"os": []
}
},
"package": {
"ecosystem": "crates.io",
"name": "sp-sized-chunks",
"purl": "pkg:cargo/sp-sized-chunks"
},
"ranges": [
{
"events": [
{
"introduced": "0.0.0-0"
}
],
"type": "SEMVER"
}
],
"versions": []
}
],
"aliases": [],
"database_specific": {
"license": "CC0-1.0"
},
"details": "Several methods in `sp-sized-chunks` drop elements before updating the container\u0027s length/boundary metadata. If an element\u0027s `Drop` panics during the drop, the metadata update is skipped, so the container still treats the already-dropped elements as live. When the container is later dropped, its own `Drop` re-visits those slots and drops the freed elements again \u2014 a use-after-free / double-free reachable from safe Rust.\n\n`sp-sized-chunks` is a fork of `sized-chunks` (companion advisory filed separately) and carries the same bug. The repository is archived and the crate is still on 0.1.0 with no fix available.\n\n## Impact\n\n- **CWE-415 (Double Free):** the same allocation is freed twice (e.g. an element holding `Box\u003cT\u003e`).\n- **CWE-416 (Use-After-Free):** an element reads its own freed allocation during `Drop` (e.g. `String`) \u2014 confirmed under AddressSanitizer.\n\nAll are reachable from safe Rust via `catch_unwind` with element types whose `Drop` can panic.",
"id": "RUSTSEC-2026-0254",
"modified": "2026-08-12T10:22:26Z",
"published": "2026-08-11T12:00:00Z",
"references": [
{
"type": "PACKAGE",
"url": "https://crates.io/crates/sp-sized-chunks"
},
{
"type": "ADVISORY",
"url": "https://rustsec.org/advisories/RUSTSEC-2026-0254.html"
}
],
"related": [],
"severity": [],
"summary": "Panic-safety unsoundness in `Chunk` and `InlineArray` (use-after-free / double-free)"
}
Loading…
Loading…
Experimental. This forecast is provided for visualization only and may change without notice. Do not use it for operational decisions.
Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
The MITRE ATT&CK techniques below are AI-generated suggestions, inferred from the description of the
vulnerability by the CIRCL/vulnerability-attack-technique-classification-roberta-base
model, served locally by ML-Gateway.
They have not been verified by an analyst and are provided for guidance only.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Loading…
Loading…