RustSec logo

HistoryEditJSON (OSV)

RUSTSEC-2026-0221

event-listener allows !Send tags to cross thread boundaries via StackSlot

Reported
Issued
Package
event-listener (crates.io)
Type
INFO Unsound
Categories
Keywords
#concurrency
References
Patched
  • >=5.4.2
Unaffected
  • <5.1.0

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.

Advisory available under CC0-1.0 license.