RUSTSEC-2026-0221 `event-listener` allows `!Send` tags to cross thread boundaries via `StackSlot`
The event-listener library allows unsafe thread boundary crossings for non-Send types, causing data races in safe code.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Not stated
- Victim action needed
- Not needed
- Fix
- Available
What is RUSTSEC-2026-0221?
RUSTSEC-2026-0221 is a vulnerability in event-listener, published on 13 Jul 2026.
Official description
Affected versions of event-listener unconditionally implement Send and
Sync for StackSlot<'_, T>, the stack-allocated listener type created
by the listener! macro.
This allows a !Send tag type set via Event::with_tag to be moved to
another thread and accessed via StackSlot::wait, causing a data race in safe
code.
Which versions are affected by RUSTSEC-2026-0221?
1 open source package ship an affected version, including event-listener.
| Package | Affected | Fixed in |
|---|---|---|
event-listener crates.io | From 5.1.0 | 5.4.2 |
How do I fix RUSTSEC-2026-0221?
Upgrade event-listener to 5.4.2 or later.
Is RUSTSEC-2026-0221 being exploited?
There is no known exploitation of RUSTSEC-2026-0221 in the wild and no public exploit code.