RUSTSEC-2020-0060

futures_task::waker may cause a use-after-free if used on a type that isn't 'static

Issued
Package
futures-task (crates.io)
Type
Vulnerability
Categories
  • code-execution
  • memory-corruption
Aliases
Details
https://github.com/rust-lang/futures-rs/pull/2206
Patched
  • >=0.3.6
Unaffected
  • <=0.2.1
Keywords
  • use-after-free
  • arbitrary code execution
  • memory-corruption
  • memory-management
Affected Functions
Version
futures_task::waker
  • >=0.3.0

Description

Affected versions of the crate did not properly implement a 'static lifetime bound on the waker function. This resulted in a use-after-free if Waker::wake() is called after original data had been dropped.

The flaw was corrected by adding 'static lifetime bound to the data waker takes.

More