rust-lang/futures-rs · Security

futures_task::noop_waker_ref can segfault due to dereferencing a NULL pointer

GHSA ID
GHSA-p9m5-3hj7-cp5r
CVE ID
CVE-2020-35907
Severity
medium
Published
Updated
CVSS
5.5 · CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CVSS v3
5.5 · CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

Description

Affected versions of the crate used a UnsafeCell in thread-local storage to return a noop waker reference, assuming that the reference would never be returned from another thread.

This resulted in a segmentation fault crash if Waker::wake_by_ref() was called on a waker returned from another thread due to it attempting to dereference a pointer that wasn't accessible from the main thread.

CWEs

References