You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The requirements of futures_task::waker(a) and futures_task::waker_ref(&a) for all a should be the same. However in the current implementation, the former requires a to be 'static, while the latter does not. This enables a static Waker to be obtained from a non-static a, resulting in some potential use-after-free problem.
The text was updated successfully, but these errors were encountered:
This is a complicated one. There was a soundness bug in futures-task
rust-lang/futures-rs#2795 so it was fixed in a
point release (0.3.31) even though it's a breaking change.
But other crates, including futures-util, weren't updated to "depend on"
the newer release, even though they now don't compile against the older
release.
This suddenly broke the cotton-minver build, which used the old
futures-util 0.3.11 (because it *directly* depends on it) but the new
futures-task 0.3.31 (because it only *indirectly* depends on it, and the
minver build does direct-minimal-versions only).
Fix this by depending on a later version of futures-util.
magicant
added a commit
to magicant/yash-rs
that referenced
this issue
Oct 21, 2024
All futures-util versions prior to 0.3.31 have been yanked because of a
soundness bug [1]. This commit updates the futures family of crates to
0.3.31.
[1]: rust-lang/futures-rs#2795
The requirements of
futures_task::waker(a)
andfutures_task::waker_ref(&a)
for alla
should be the same. However in the current implementation, the former requiresa
to be'static
, while the latter does not. This enables a staticWaker
to be obtained from a non-statica
, resulting in some potential use-after-free problem.The text was updated successfully, but these errors were encountered: