Tokio broadcast channel calls clone in parallel, but does not require `Sync`
Low severity
GitHub Reviewed
Published
Apr 7, 2025
to the GitHub Advisory Database
•
Updated Apr 7, 2025
Package
Affected versions
>= 1.44.0, < 1.44.2
>= 0.2.5, < 1.38.2
>= 1.39.0, < 1.43.1
Patched versions
1.44.2
1.38.2
1.43.1
Description
Published to the GitHub Advisory Database
Apr 7, 2025
Reviewed
Apr 7, 2025
Last updated
Apr 7, 2025
The broadcast channel internally calls
clone
on the stored value when receiving it, and only requiresT:Send
. This means that using the broadcast channel with values that areSend
but notSync
can trigger unsoundness if theclone
implementation makes use of the value being!Sync
.Thank you to Austin Bonander for finding and reporting this issue.
References