Skip to content
OpenAdvisories

Weakness (CWE)

CWE-415: Double Free

Variant Draft

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

How to prevent it (3 mitigations)
  1. Architecture and Design

    Choose a language that provides automatic memory management.

  2. 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.

  3. Implementation

    Use a static analysis tool to find double free instances.

Source: MITRE CWE-415

114 results · Clear filters · Feed

  • Medium 5.8

    unbounded-spsc: Sender::send pointer-as-value transmute causes OOB read and fake-Arc drop under TX/RX race

    unbounded_spsc is an "unbounded" extension of bounded_spsc_queue. In versions 0.2.0 and prior, sender::send pointer-as-value transmute causes OOB read and fake-Arc drop under TX/RX race. At time of publication, there are no publicly available patches.

  • Medium 5.0

    Double-free When Checking OCSP Stapled Response

    Issue summary: A malicious server can exploit TLS OCSP stapling by delivering a crafted response through the status_request extension, triggering a double-free in the client's certificate verification path. Impact summary: Successful exploitation allows an at…

  • Medium 4.7

    NetBSD cryptodev Race Condition Double-Free via cryptodev_op()

    NetBSD prior to commit ec8451e contains a race condition vulnerability in cryptodev_op() within the opencrypto subsystem that allows local attackers to trigger a double-free condition by concurrently issuing CIOCCRYPT operations on the same session identifier…

  • Medium —

    rkyv: Panic safety bugs in `InlineVec::clear` and `SerVec::clear` enable arbitrary code execution

    `InlineVec::clear()` and `SerVec::clear()` in `rkyv` were not panic-safe. Both functions iterate over their elements and call `drop_in_place` on each, updating `self.len` only *after* the loop. If an element's `Drop` implementation panics during the loop, `se…

  • Medium 6.7

    Windows Rich Text Edit Elevation of Privilege Vulnerability

    Double free in Windows Rich Text Edit allows an authorized attacker to elevate privileges locally.

  • Medium 6.7

    Windows Rich Text Edit Elevation of Privilege Vulnerability

    Double free in Windows Rich Text Edit allows an authorized attacker to elevate privileges locally.

  • Medium 5.5

    Double Free in Wireshark

    iLBC codec crash in Wireshark 4.6.0 to 4.6.4 and 4.4.0 to 4.4.14 allows denial of service

  • Medium 5.1

    Use-After-Free and Double-Free in IntoIter::drop when element drop panics

    Double-Free / Use-After-Free (UAF) in the `IntoIter::drop` and `ThinVec::clear` functions in the thin_vec crate. A panic in `ptr::drop_in_place` skips setting the length to zero.

  • Medium 5.6

    Double free vulnerability in the multi-mode input system. Impact: Successful exploitation of this vulnerability may aff…

  • Medium 6.2

    A double free vulnerability exists in librz/bin/format/le/le.c in the function le_load_fixup_record(). When processing …

  • Medium 5.3

    Nothings stb Multi-frame GIF File stb_image.h stbi__load_gif_main double free

    A weakness has been identified in Nothings stb up to 2.30. This impacts the function stbi__load_gif_main of the file stb_image.h of the component Multi-frame GIF File Handler. This manipulation causes double free. The attack requires local access. The exploit…

  • Medium 5.3

    FreeRDP: Possible double free in kerberos_AcceptSecurityContext

    FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.24.2, a double-free vulnerability in kerberos_AcceptSecurityContext() and kerberos_InitializeSecurityContextA() (WinPR, winpr/libwinpr/sspi/Kerberos/kerberos.c) can cause a cr…

  • Medium 6.4

    Memory safety issues in slot-based execution hash table spill

    A specially crafted aggregation query with $lookup by an authenticated user with write privileges can cause a double-free or use-after-free memory issue in the slot-based execution (SBE) engine when an in-memory hash table is spilled to disk.

  • Medium 5.1

    Giflib contains a double-free vulnerability that is the result of a shallow copy in GifMakeSavedImage and incorrect err…

  • Medium 5.1

    Double free vulnerability in the window module. Impact: Successful exploitation of this vulnerability may affect availa…

  • Medium —

    Hive has Double-free and Use After Free Vulnerabilities

    `Drop` implementation for `Hive` did perform free, but so did `Hive::close`, which, at the end of the scope performed `Drop`, therefore triggering double-free. Additionally, function `Hive::from_handle` was not marked as unsafe, making it, in combination with…

  • Medium 5.5

    libtiff up to v4.7.1 was discovered to contain a double free via the component tools/tiffcrop.c.

  • Medium 5.9

    MuPDF 1.23.0 through 1.27.0 Barcode Decoding Double Free

    MuPDF versions 1.23.0 through 1.27.0 contain a double-free vulnerability in fz_fill_pixmap_from_display_list() when an exception occurs during display list rendering. The function accepts a caller-owned fz_pixmap pointer but incorrectly drops the pixmap in it…

  • Medium 5.5

    In imgsys, there is a possible memory corruption due to improper locking. This could lead to local denial of service if…

  • Medium 6.4

    espressif/usb_host_hid Double-Free Race Condition in USB Host HID Device Close Path

    Espressif ESP-IDF USB Host HID (Human Interface Device) Driver allows access to HID devices. Prior to 1.1.0, calls to hid_host_device_close() can free the same usb_transfer_t twice. The USB event callback and user code share the hid_iface_t state without lock…

  • Medium 5.8

    Multiple Cisco Products Snort 3 DCERPC Vulnerabilities

    Multiple Cisco products are affected by a vulnerability in the processing of DCE/RPC requests that could allow an unauthenticated, remote attacker to cause the Snort 3 Detection Engine to leak sensitive information or to restart, resulting in an interrup…

  • Medium 6.7

    In display, there is a possible memory corruption due to use after free. This could lead to local escalation of privile…

  • Medium 4.9

    ImageMagick has a use-after-free/double-free risk in Options::fontFamily when clearing family

    ImageMagick is free and open-source software used for editing and manipulating digital images. Prior to 7.1.2-9 and 6.9.13-34, there is a vulnerability in ImageMagick’s Magick++ layer that manifests when Options::fontFamily is invoked with an empty string. Cl…

  • Medium 5.5

    A double free issue was addressed with improved memory management. This issue is fixed in iOS 18.6 and iPadOS 18.6, iPa…

  • Medium 6.3

    A double free vulnerability [CWE-415] vulnerability in Fortinet FortiOS 7.4.0, FortiOS 7.2.0 through 7.2.5, FortiOS 7.0…

  • Medium 6.9

    Vim double-free vulnerability during Vim9 script import operations

    Vim is an open source, command line text editor. In versions from 9.1.1231 to before 9.1.1406, when processing nested tuples during Vim9 script import operations, an error during evaluation can trigger a double-free in Vim’s internal typed value (typval_T) ma…

  • Medium 5.3

    libav DSS File Demuxer avconv.c main double free

    A vulnerability, which was classified as critical, has been found in libav up to 12.3. Affected by this issue is the function main of the file /avtools/avconv.c of the component DSS File Demuxer. The manipulation leads to double free. Attacking locally is a r…

  • Medium 5.9

    The regcomp function in the GNU C library version from 2.4 to 2.41 is subject to a double free if some previous allocat…

  • Medium 6.5

    Gnutls: vulnerability in gnutls othername san export

    A flaw was found in GnuTLS. A double-free vulnerability exists in GnuTLS due to incorrect ownership handling in the export logic of Subject Alternative Name (SAN) entries containing an otherName. If the type-id OID is invalid or malformed, GnuTLS will call as…

  • Medium 6.5

    Libssh: double free vulnerability in libssh key export functions

    A flaw was found in the key export functionality of libssh. The issue occurs in the internal function responsible for converting cryptographic keys into serialized formats. During error handling, a memory structure is freed but not cleared, leading to a poten…

  • Medium 6.5

    An issue was discovered in Samsung Mobile Processor Exynos 1280, 2200, 1380, 1480, 2400. A Double Free in the mobile pr…

  • Medium 6.5

    An issue was discovered in Samsung Mobile Processor Exynos 1280, 2200, 1380, 1480, 2400. A Double Free in the mobile pr…

  • Medium 6.5

    Crossbeam-channel: crossbeam-channel vulnerable to double free on drop

    In crossbeam-channel rust crate, the internal `Channel` type's `Drop` method has a race condition which could, in some circumstances, lead to a double-free that could result in memory corruption.

  • Medium 5.3

    A double free issue was addressed with improved memory management. This issue is fixed in iOS 18.5 and iPadOS 18.5, iPa…

  • Medium 6.5

    A double free issue was addressed with improved memory management. This issue is fixed in iPadOS 17.7.7, macOS Sequoia …

  • Medium 5.9

    A double free vulnerability has been identified in the ASUS System Analysis service. This vulnerability can be triggere…

  • Medium 6.0

    Eclipse Mosquito: Double free vulnerability

    In Eclipse Mosquito, versions from 2.0.0 through 2.0.18, if a Mosquitto broker is configured to create an outgoing bridge connection, and that bridge connection has an incoming topic configured that makes use of topic remapping, then if the remote connection …

  • Medium 5.9

    This issue tracks two CWE-416 Use After Free (UAF) and one CWE-415 Double Free vulnerabilities in Goahead versions <= 6…

  • Medium 6.7

    Double Free in DSP Services

    Memory corruption while unmapping the fastrpc map when two threads can free the same map in concurrent scenario.

  • Medium 4.4

    Double-free in libpcap before 1.10.5 with remote packet capture support.

    In affected libpcap versions during the setup of a remote packet capture the internal function sock_initaddress() calls getaddrinfo() and possibly freeaddrinfo(), but does not clearly indicate to the caller function whether freeaddrinfo() still remains to be …