Every CVE Search/ Get API key

CVE-2020-36432

Use of Uninitialized Resource in alg_ds

9.8 Critical

An issue was discovered in the alg_ds crate through 2020-08-25 for Rust. There is a drop of uninitialized memory in Matrix::new().

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

1.23%Up 0.6 points since Aug 8, 2021
90%50%10%1%

What each source reports

NVD Score used 9.8

An issue was discovered in the alg_ds crate through 2020-08-25 for Rust. There is a drop of uninitialized memory in Matrix::new().

Record
CVE-2020-36432
CVSS 3.1
9.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS 2.0
7.5 HighAV:N/AC:L/Au:N/C:P/I:P/A:P
Weakness
CWE-908
Updated
2026-11-02
CVE List No score

An issue was discovered in the alg_ds crate through 2020-08-25 for Rust. There is a drop of uninitialized memory in Matrix::new().

Record
CVE-2020-36432
Updated
2026-11-02
EUVDEUVD-2021-1551 No score

An issue was discovered in the alg_ds crate through 2020-08-25 for Rust. There is a drop of uninitialized memory in Matrix::new().

Record
EUVD-2021-1551
Updated
2026-11-03
GitHub AdvisoriesGHSA-3vv3-frrq-6486 9.8

Use of Uninitialized Resource in alg_ds

An issue was discovered in the alg_ds crate through 2020-08-25 for Rust. Matrix::new() internally calls Matrix::fill_with() which uses *ptr = value pattern to initialize the buffer. This pattern assumes that there is an initialized struct at the address and drops it, which results in dropping of uninitialized struct.

Record
GHSA-3vv3-frrq-6486
CVSS 3.1
9.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-665, CWE-908
Updated
2026-11-02
OSVGHSA-3vv3-frrq-6486 9.8

Use of Uninitialized Resource in alg_ds

An issue was discovered in the alg_ds crate through 2020-08-25 for Rust. Matrix::new() internally calls Matrix::fill_with() which uses *ptr = value pattern to initialize the buffer. This pattern assumes that there is an initialized struct at the address and drops it, which results in dropping of uninitialized struct.

Record
GHSA-3vv3-frrq-6486
CVSS 3.1
9.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Weakness
CWE-665, CWE-908
Updated
2026-11-02
OSVRUSTSEC-2020-0033 9.8

Matrix::new() drops uninitialized memory

Matrix::new() internally calls Matrix::fill_with() which uses *ptr = value pattern to initialize the buffer. This pattern assumes that there is an initialized struct at the address and drops it, which results in dropping of uninitialized struct.

Record
RUSTSEC-2020-0033
CVSS 3.1
9.8 CriticalCVSS: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

Affected packages
PackageAffectedFixed
alg_ds
crates.io
through 0.3.1 None known
alg_ds
crates.io
0.0.0-0 and later None known

History

History
RecordedChangedSources
aliasesEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2020-36432 is a critical vulnerability (CVSS 9.8) in Alg Ds Project Ds, published August 25, 2020. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.23%, the 69th percentile. No source names a fixed version.

References

MoveEnter Open