Rust advisories / static_cell
UnsoundRUSTSEC-2025-0045 · static_cell
RUSTSEC-2025-0045: ConstStaticCell could have been used to pass non-Send values to another thread
Short answerstatic_cell has an API that can cause undefined behaviour from safe code: ConstStaticCell could have been used to pass non-Send values to another thread. Fixed in 2.1.1.
| Crate | static_cell |
|---|---|
| Type | Unsound (memory-exposure, memory-corruption) |
| Affected versions | From 2.0.1 before 2.1.1. |
| Fixed in | 2.1.1 |
| Severity | not scored |
| Published | 2025-07-17 |
| Last changed | 2025-07-17 |
| Also known as | none |
| Affected functions | static_cell::ConstStaticCell::new |
What to do
- See which version you have:
cargo tree -i static_cell(it also shows which of your dependencies pulls it in). - Update within your version requirement:
cargo update -p static_cell. If the fix is a newer major or minor than your requirement allows, raise it in Cargo.toml (for examplestatic_cell = "2.1.1") or update the dependency that pulls it in. - Check again with
cargo audit, or paste your Cargo.lock into our Cargo.toml checker.
Details from the advisory
ConstStaticCell<T> could have been used to pass non-Send values to another thread, because T was not required to be Send while ConstStaticCell is Send.
This was corrected by introducing a T: Send bound.
References
- Package: crates.io/crates/static_cell
- Advisory: rustsec.org/advisories/RUSTSEC-2025-0045.html
- Report: github.com/embassy-rs/static-cell/issues/19
From the RustSec Advisory Database (CC0-1.0) via the OSV export, downloaded Oct 24, 2026. Severity score computed from the published CVSS vector.
Up next
Are you affected?Check your whole dependency treePaste Cargo.lock: every advisory, for your exact versions.Read it next →Also worth your time
Did this answer your question?