Skip to content

GHSA-p9gf-gmfv-398m CVE-2021-29938 RUSTSEC-2021-0047

Double free in slice-deque

High crates.io
Severity
7.5 / 10
High · CVSS 3.1
Exploit chance (EPSS)
1.18%
Chance of exploitation in the next 30 days. Higher than 67.57% of scored vulnerabilities.
Known exploited
No
Not in CISA's catalog
Weakness
CWE-415 Double Free
Fix
None yet
No fixed version published

Description

An issue was discovered in the slice-deque crate through 2021-02-19 for Rust. A double drop can occur in SliceDeque::drain_filter upon a panic in a predicate function.

Affected versions

crates.io

PackageVulnerableFixed in
slice-deque
<= 0.3.0
No fix yet
slice-deque
>= 0.0.0-0
No fix yet

How to fix

No fixed version has been published yet. Until one is, remove or replace the package, or turn off or isolate the affected feature. This page updates when a fix ships.

Severity breakdown

CVSS 3.1 7.5

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Attack vector
Network
Attack complexity
Low
Privileges required
None
User interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
High

Weakness

CWE-415: Double Free

The product calls free() twice on the same memory address.

How to prevent it
  • Architecture and Design: Choose a language that provides automatic memory management.
  • Implementation: Ensure that each allocation is freed only once. After freeing a chunk, set the pointer to NULL to ensure the pointer cannot be freed again. In complicated error conditions, be sure that clean-up routines respect the state of allocation properly. If the language is object oriented, ensure that object destructors delete each chunk of memory only once.
  • Implementation: Use a static analysis tool to find double free instances.

References

Timeline

  1. Published
  2. Last updated by the source
  3. Latest EPSS score
AdvisorySeverityWhy it's related
GHSA-7mcq-f592-pf7v
Slice Ring Buffer and Slice Deque contains four unique double-free vulnerabilities triggered through safe APIs
High Also affects slice-deque
RUSTSEC-2020-0158
slice-deque is unmaintained
Not rated yet Also affects slice-deque
GHSA-c3m3-c39q-pv23
Out of bounds write in slice-deque
Critical Also affects slice-deque
GHSA-hr3c-6mmp-6m39
Memory corruption slice-deque
Critical Also affects slice-deque
GO-2026-4981
Crash when handling long CNAME response in net
High Same weakness, CWE-415
GHSA-vfvv-c25p-m7mm
rkyv: Panic safety bugs in `InlineVec::clear` and `SerVec::clear` enable arbitrary code execution
Medium Same weakness, CWE-415
CVE-2026-33824
Double free in Windows IKE Extension allows an unauthorized attacker to execute code over a network.
Critical Known exploited Same weakness, CWE-415
CVE-2025-62215
Concurrent execution using shared resource with improper synchronization ('race condition') in Windows Kernel allows an authorized attacker to elevate…
High Known exploited Same weakness, CWE-415
Is this in your code?

MergeHarbor checks every repository's dependencies against this database, ranks what matters by exploitability and reachability, routes it to the owning team and opens the fix pull request.

Check your repos with MergeHarbor