Rust advisories / dcrypt-api
VulnerabilityRUSTSEC-2026-0242 · dcrypt-api
RUSTSEC-2026-0242: Safe ErrorRegistry APIs can cause undefined behavior
Short answerA security vulnerability in the dcrypt-api crate: Safe ErrorRegistry APIs can cause undefined behavior. No severity score was published. Fixed in 2.0.0: update to a fixed version.
| Crate | dcrypt-api |
|---|---|
| Type | Vulnerability (memory-corruption, thread-safety) |
| Affected versions | Before 2.0.0. |
| Fixed in | 2.0.0 |
| Severity | not scored |
| Published | 2026-08-09 |
| Last changed | 2026-10-12 |
| Also known as | GHSA-7hc7-h3f2-r4j6 |
What to do
- See which version you have:
cargo tree -i dcrypt-api(it also shows which of your dependencies pulls it in). - Update within your version requirement:
cargo update -p dcrypt-api. If the fix is a newer major or minor than your requirement allows, raise it in Cargo.toml (for exampledcrypt-api = "2.0.0") 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
All published versions of dcrypt-api before 2.0.0 exposed safe ErrorRegistry operations that could trigger undefined behavior when the default std feature was enabled.
Stored Box<E> values were erased to raw pointers and later deallocated as Box<()>. The get_error<E> operation also performed an unchecked cast to a caller-selected type. Finally, concurrent replacement or clearing could free a value while another thread cloned it. Ordinary safe Rust could therefore cause mismatched deallocation, type confusion, and use-after-free. Crates that re-exported this API are affected transitively.
Version 2.0.0 replaces the raw pointers with owned Box<dyn Any + Send> values behind a mutex, performs checked downcasts, and uses a mutation generation so concurrent stores and clears win safely. There is no reliable workaround while calling the affected registry API. Upgrade to 2.0.0 or later and avoid process-global error state where possible.
References
- Package: crates.io/crates/dcrypt-api
- Advisory: rustsec.org/advisories/RUSTSEC-2026-0242.html
- Web: github.com/ioi-foundation/dcrypt/commit/c99cc86f0ee353010cd202cbcd2c310371b0bbb8
- Web: github.com/ioi-foundation/dcrypt/commit/c99cc86f0ee353010cd202cbcd2c310371b0bbb8
- Web: github.com/ioi-foundation/dcrypt/releases/tag/v2.0.0
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?