metrics-rs/metrics · Security
Out-of-bounds Write and Race Condition in metrics-util
- GHSA ID
- GHSA-cwvc-87xq-pc5m
- CVE ID
- CVE-2021-45704
- Severity
- high
- Published
- Updated
- CVSS
- 8.1 · CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
- CVSS v3
- 8.1 · CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Description
In the affected versions of the crate, AtomicBucket 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 (which is a data type contained inside AtomicBucket).
CWEs
- CWE-362 · Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')
- CWE-787 · Out-of-bounds Write
References
- https://nvd.nist.gov/vuln/detail/CVE-2021-45704 ↗
- 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/metrics-rs/metrics/issues/190 ↗
- https://github.com/metrics-rs/metrics/commit/8e6daab ↗
- https://github.com/advisories/GHSA-cwvc-87xq-pc5m ↗