high8.1
CVE-2021-45704
Out-of-bounds Write and Race Condition in metrics-util
Impact
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>).
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| rust | metrics-util | < 0.7.0 | 0.7.0 |
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Metrics-Util Project | Metrics-Util | before 0.7.0 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://raw.githubusercontent.com/rustsec/advisory-db/main/crates/metrics-util/RUSTSEC-2021-0113.md
- https://rustsec.org/advisories/RUSTSEC-2021-0113.html
- https://github.com/advisories/GHSA-cwvc-87xq-pc5m
- 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