CVE-2021-29937
Free of uninitialized memory in telemetry
An issue was discovered in the telemetry crate through 2021-02-17 for Rust. There is a drop of uninitialized memory if a value.clone() call panics within misc::vec_with_size().
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
NVD Score used 9.8
An issue was discovered in the telemetry crate through 2021-02-17 for Rust. There is a drop of uninitialized memory if a value.clone() call panics within misc::vec_with_size().
- Record
CVE-2021-29937- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - CVSS 2.0
- 7.5 High
AV:N/AC:L/Au:N/C:P/I:P/A:P - Weakness
- CWE-908
- Updated
- 2026-11-02
CVE ListNo score
An issue was discovered in the telemetry crate through 2021-02-17 for Rust. There is a drop of uninitialized memory if a value.clone() call panics within misc::vec_with_size().
- Record
CVE-2021-29937- Updated
- 2026-11-02
EUVDEUVD-2021-1750No score
An issue was discovered in the telemetry crate through 2021-02-17 for Rust. There is a drop of uninitialized memory if a value.clone() call panics within misc::vec_with_size().
- Record
EUVD-2021-1750- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-hpcx-3pw8-g3j2 9.8
Free of uninitialized memory in telemetry
An issue was discovered in the telemetry crate through 0.1.2 for Rust. There is a drop of uninitialized memory if a value.clone() call panics within misc::vec_with_size()
- Record
GHSA-hpcx-3pw8-g3j2- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-908
- Updated
- 2026-11-02
OSVGHSA-hpcx-3pw8-g3j2 9.8
Free of uninitialized memory in telemetry
An issue was discovered in the telemetry crate through 0.1.2 for Rust. There is a drop of uninitialized memory if a value.clone() call panics within misc::vec_with_size()
- Record
GHSA-hpcx-3pw8-g3j2- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-908
- Updated
- 2026-11-02
OSVRUSTSEC-2021-0046 9.8
misc::vec_with_size() can drop uninitialized memory if clone panics
misc::vec_with_size creates a vector of the provided size and immediately
calls vec.set_len(size) on it, initially filling it with uninitialized memory.
It then inserts elements using vec[i] = value.clone().
If the value.clone() call panics, uninitialized items in the vector will be
dropped leading to undefined behavior.
Withdrawal
This advisory has been withdrawn because the above unsoundness cannot be triggered in safe code by dependents of the crate, as the Clone generic of private function misc::vec_with_size only instantiates to primitive types in public functions, which is impossible to panic.
- Record
RUSTSEC-2021-0046- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
telemetrycrates.io | before 0.1.3 | 0.1.3 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected | ||
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2021-29937 is a critical vulnerability (CVSS 9.8) in Telemetry Project Telemetry, published February 17, 2021. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.42%, the 73rd percentile. Fixed in telemetry 0.1.3.