GHSA-cwvc-87xq-pc5m
Out-of-bounds Write and Race Condition in metrics-util
Packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| crates.io | metrics-util | < 0.7.0 | 0.7.0 |
Details
As written in the advisory (Markdown source, shown as plain text).
In the affected versions of the crate, AtomicBucket<T> unconditionally implements Send/Sync traits. Therefore, users can create a data race to the inner T: !Sync by using the AtomicBucket::data_with() API. Such data races can potentially cause memory corruption or other undefined behavior.
The flaw was fixed in commit 8e6daab by adding appropriate Send/Sync bounds to the Send/Sync impl of struct Block<T> (which is a data type contained inside AtomicBucket<T>).
References
External links from the advisory. They lead to third-party sites.
- https://nvd.nist.gov/vuln/detail/CVE-2021-45704
- https://github.com/metrics-rs/metrics/issues/190
- https://github.com/metrics-rs/metrics/commit/8e6daab
- https://github.com/metrics-rs/metrics
- https://raw.githubusercontent.com/rustsec/advisory-db/main/crates/metrics-util/RUSTSEC-2021-0113.md
- https://rustsec.org/advisories/RUSTSEC-2021-0113.html