Files
advisory-db/crates/generator/RUSTSEC-2020-0151.md
2023-06-13 15:10:24 +02:00

1.0 KiB

[advisory]
id = "RUSTSEC-2020-0151"
package = "generator"
aliases = ["CVE-2020-36471", "GHSA-w3g5-2848-2v8r"]
cvss = "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H"
date = "2020-11-16"
url = "https://github.com/Xudong-Huang/generator-rs/issues/27"
categories = ["memory-corruption"]
keywords = ["concurrency"]

[versions]
patched = [">= 0.7.0"]

Generators can cause data races if non-Send types are used in their generator functions

The Generator type is an iterable which uses a generator function that yields values. In affected versions of the crate, the provided function yielding values had no Send bounds despite the Generator itself implementing Send.

The generator function lacking a Send bound means that types that are dangerous to send across threads such as Rc could be sent as part of a generator, potentially leading to data races.

This flaw was fixed in commit f7d120a3b by enforcing that the generator function be bound by Send.