RUSTSEC-2026-0078 Symbol confusion after hasher panic in `intaglio` interners
Attackers can cause symbol confusion or panics in Rust applications using intaglio if a custom hasher panics during insertion, leading to data corruption or crashes.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Not stated
- Victim action needed
- Not needed
- Fix
- Available
What is RUSTSEC-2026-0078?
RUSTSEC-2026-0078 is a vulnerability in intaglio, published on 30 Mar 2026.
Official description
Affected versions of this crate can leave all SymbolTable variants in an
internally inconsistent state if a custom BuildHasher panics during
HashMap::insert and the caller recovers with catch_unwind.
The intern implementations committed a vec.push(...) before the matching
map.insert(...) completed. If hashing panicked in that window, later lookups
and inserts could observe diverging vec and map lengths.
In release builds, this can lead to symbol confusion where a newly interned string resolves to previously interned attacker-controlled contents. In debug builds, the same corruption is detected by follow-up assertions and results in panics.
The flaw was corrected in version 1.13.3 by making the vec mutation
transactional across unwind boundaries so partially inserted entries are rolled
back before the panic propagates.
Which versions are affected by RUSTSEC-2026-0078?
1 open source package ship an affected version, including intaglio.
| Package | Affected | Fixed in |
|---|---|---|
intaglio crates.io | From 0.0.0-0 | 1.13.3 |
How do I fix RUSTSEC-2026-0078?
Upgrade intaglio to 1.13.3 or later.
Is RUSTSEC-2026-0078 being exploited?
There is no known exploitation of RUSTSEC-2026-0078 in the wild and no public exploit code.