HistoryEditJSON (OSV)

RUSTSEC-2025-0023

Broadcast channel calls clone in parallel, but does not require Sync

Reported
Issued
Package
tokio (crates.io)
Type
INFO Unsound
Categories
References
Patched
  • >=1.38.2, <1.39.0
  • >=1.42.1, <1.43.0
  • >=1.43.1, <1.44.0
  • >=1.44.2
Unaffected
  • <0.2.5

Description

The broadcast channel internally calls clone on the stored value when receiving it, and only requires T:Send. This means that using the broadcast channel with values that are Send but not Sync can trigger unsoundness if the clone implementation makes use of the value being !Sync.

Thank you to Austin Bonander for finding and reporting this issue.

Advisory available under CC0-1.0 license.