CVE-2021-31162
CVE-2021-31162 is a critical-severity vulnerability in Rust-lang Rust with a CVSS 3.x base score of 9.8. It is not currently listed as actively exploited by CISA, and its EPSS exploit-prediction score is low. The underlying weakness is classified as CWE-415.
Key facts
- Severity: Critical (CVSS 3.x base score 9.8)
- CVSS v2: 7.5
- EPSS exploit prediction: 3% (85th percentile)
- Actively exploited: Not listed in CISA KEV
- Weakness: CWE-415
- Affected product: Rust-lang Rust
- Published:
- Last modified:
Description
In the standard library in Rust before 1.52.0, a double free can occur in the Vec::from_iter function if freeing the element panics.
Frequently asked questions
- What is CVE-2021-31162?
- In the standard library in Rust before 1.52.0, a double free can occur in the Vec::from_iter function if freeing the element panics.
- How severe is CVE-2021-31162?
- CVE-2021-31162 has a CVSS 3.x base score of 9.8, rated critical severity. It is exploitable over network with low attack complexity, requires no privileges and no user interaction. Impact on confidentiality is high, integrity high, and availability high.
- Is CVE-2021-31162 being actively exploited?
- It is not currently listed in CISA's KEV catalog. Its EPSS exploit-prediction score is 3% (85th percentile), an estimate of the probability of exploitation in the next 30 days.
- What products are affected by CVE-2021-31162?
- CVE-2021-31162 primarily affects Rust-lang Rust. In total, 4 product configurations (CPEs) are listed as vulnerable; see the affected-products list for the exact versions.
- How do I fix CVE-2021-31162?
- Review the linked vendor and NVD advisories for patched versions and mitigations, then upgrade or apply the recommended workaround. Given its critical severity, prioritise patching exposed systems.
- When was CVE-2021-31162 published?
- CVE-2021-31162 was published on 2021-04-14 and last updated on 2026-06-17.
References
- https://github.com/rust-lang/rust/issues/83618
- https://github.com/rust-lang/rust/pull/83629
- https://github.com/rust-lang/rust/pull/84603
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/CZ337CM4GFJLRDFVQCGC7J25V65JXOG5/
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/TFUO3URYCO73D2Q4WYJBWAMJWGGVXQO4/
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/VZG65GUW6Z2CYOQHF7T3TB5CZKIX6ZJE/
- https://security.gentoo.org/glsa/202210-09
Affected products (4)
- cpe:2.3:a:rust-lang:rust:*:*:*:*:*:*:*:*
- cpe:2.3:o:fedoraproject:fedora:32:*:*:*:*:*:*:*
- cpe:2.3:o:fedoraproject:fedora:33:*:*:*:*:*:*:*
- cpe:2.3:o:fedoraproject:fedora:34:*:*:*:*:*:*:*
More vulnerabilities in Rust-lang Rust
- CVE-2024-24576 — Critical (CVSS 10.0): Rust is a programming language. The Rust Security Response WG was notified that the Rust standard library prior to…
- CVE-2024-3566 — Critical (CVSS 9.8): A command inject vulnerability allows an attacker to perform command injection on Windows applications that indirectly…
- CVE-2021-28879 — Critical (CVSS 9.8): In the standard library in Rust before 1.52.0, the Zip implementation can report an incorrect size due to an integer…
- CVE-2020-36318 — Critical (CVSS 9.8): In the standard library in Rust before 1.49.0, VecDeque::make_contiguous has a bug that pops the same element more than…
- CVE-2018-1000810 — Critical (CVSS 9.8): The Rust Programming Language Standard Library version 1.29.0, 1.28.0, 1.27.2, 1.27.1, 127.0, 126.2, 126.1, 126.0…
- CVE-2021-29922 — Critical (CVSS 9.1): library/std/src/net/parser.rs in Rust before 1.53.0 does not properly consider extraneous zero characters at the…
All CVEs affecting Rust-lang Rust →
Other CWE-415 (Double Free) vulnerabilities
- CVE-2018-0101 — Critical (CVSS 10.0): A vulnerability in the Secure Sockets Layer (SSL) VPN functionality of the Cisco Adaptive Security Appliance (ASA)…
- CVE-2026-8925 — Critical (CVSS 9.8): The curl logic that works with SASL authentication could end up cleaning up the GSASL context *twice* without clearing…
- CVE-2020-37239 — Critical (CVSS 9.8): libbabl 0.1.62 contains a broken double free detection vulnerability that allows attackers to bypass memory safety…
- CVE-2026-43011 — Critical (CVSS 9.8): In the Linux kernel, the following vulnerability has been resolved: net/x25: Fix potential double free of skb When…
- CVE-2026-31609 — Critical (CVSS 9.8): In the Linux kernel, the following vulnerability has been resolved: smb: client: avoid double-free in…
- CVE-2026-31608 — Critical (CVSS 9.8): In the Linux kernel, the following vulnerability has been resolved: smb: server: avoid double-free in…