RUSTSEC-2026-0221 `event-listener` allows `!Send` tags to cross thread boundaries via `StackSlot`

Not scored Published

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.

PackageAffectedFixed in
event-listener crates.ioFrom 5.1.05.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.

Sources

Is RUSTSEC-2026-0221 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free