CyberSecBulletin

Double Free

CWE-415

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

We track 348 vulnerabilities of this type. 100% are rated high or critical, and the average CVSS score is 8.0. 6 have been exploited in real attacks.

How this weakness is prevented

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

Latest Double Free vulnerabilities

  • 7.2 High severity

    FortiOS: Double Free

    CVE-2023-44247FortinetEPSS 1.26%

    A double free vulnerability [CWE-415] vulnerability in Fortinet FortiOS 6.4 all versions may allow a privileged attacker to execute code or commands via crafted HTTP or HTTPs requests.

  • 7.8 High severity

    Linux: Double Free

    CVE-2024-27392Linux

    In the Linux kernel, the following vulnerability has been resolved: nvme: host: fix double-free of struct nvme_id_ns in ns_update_nuse() When nvme_identify_ns() fails, it frees the pointer to the struct nvme_id_ns before it returns. However, ns_update_nuse() c

  • 7.8 High severity

    Linux: Double Free

    CVE-2024-26932Linux

    In the Linux kernel, the following vulnerability has been resolved: usb: typec: tcpm: fix double-free issue in tcpm_port_unregister_pd() When unregister pd capabilitie in tcpm, KASAN will capture below double -free issue. The root cause is the same capabilitiy

  • 7.8 High severity

    Linux: Double Free

    CVE-2024-26930Linux

    In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Fix double free of the ha->vp_map pointer Coverity scan reported potential risk of double free of the pointer ha->vp_map. ha->vp_map was freed in qla2x00_mem_alloc(), and again

  • 7.8 High severity

    Linux: Double Free

    CVE-2022-48649Linux

    In the Linux kernel, the following vulnerability has been resolved: mm/slab_common: fix possible double free of kmem_cache When doing slub_debug test, kfence's 'test_memcache_typesafe_by_rcu' kunit test case cause a use-after-free error: BUG: KASAN: use-after-

  • 8.2 High severity

    Red Hat Enterprise Linux 8: Double Free

    CVE-2024-3446Red Hat

    A double free vulnerability was found in QEMU virtio devices (virtio-gpu, virtio-serial-bus, virtio-crypto), where the mem_reentrancy_guard flag insufficiently protects against DMA reentrancy issues. This issue could allow a malicious privileged guest user to

  • 7.8 High severity

    Linux: Double Free

    CVE-2024-26792Linux

    In the Linux kernel, the following vulnerability has been resolved: btrfs: fix double free of anonymous device after snapshot creation failure When creating a snapshot we may do a double free of an anonymous device in case there's an error committing the trans

  • 7.8 High severity

    Linux: Double Free

    CVE-2024-26782Linux

    In the Linux kernel, the following vulnerability has been resolved: mptcp: fix double-free on socket dismantle when MPTCP server accepts an incoming connection, it clones its listener socket. However, the pointer to 'inet_opt' for the new socket has the same v

  • 7.8 High severity

    Linux: Double Free

    CVE-2024-26748Linux

    In the Linux kernel, the following vulnerability has been resolved: usb: cdns3: fix memory double free when handle zero packet 829 if (request->complete) { 830 spin_unlock(&priv_dev->lock); 831 usb_gadget_giveback_request(&priv_ep->endpoint, 832 request); 833

  • 7.8 High severity

    Linux: Double Free

    CVE-2024-26704Linux

    In the Linux kernel, the following vulnerability has been resolved: ext4: fix double-free of blocks due to wrong extents moved_len In ext4_move_extents(), moved_len is only updated when all moves are successfully executed, and only discards orig_inode and dono

  • 7.8 High severity

    Linux: Double Free

    CVE-2024-26694Linux

    In the Linux kernel, the following vulnerability has been resolved: wifi: iwlwifi: fix double-free bug The storage for the TLV PC register data wasn't done like all the other storage in the drv->fw area, which is cleared at the end of deallocation. Therefore,

  • 7.8 High severity

    Linux: Double Free

    CVE-2024-26653Linux

    In the Linux kernel, the following vulnerability has been resolved: usb: misc: ljca: Fix double free in error handling path When auxiliary_device_add() returns error and then calls auxiliary_device_uninit(), callback function ljca_auxdev_release calls kfree(au

  • 7.5 High severity

    Red Hat Enterprise Linux 7: Double Free

    CVE-2024-2002Red HatEPSS 1.09%

    A double-free vulnerability was found in libdwarf. In a multiply-corrupted DWARF object, libdwarf may try to dealloc(free) an allocation twice, potentially causing unpredictable and various results.

  • 9.8 Critical severity

    azure-uamqp-c: Double Free

    CVE-2024-27099AzureEPSS 1.42%

    The uAMQP is a C library for AMQP 1.0 communication to Azure Cloud Services. When processing an incorrect `AMQP_VALUE` failed state, may cause a double free problem. This may cause a RCE. Update submodule with commit 2ca42b6e4e098af2d17e487814a91d05f6ae4987.

  • 7.8 High severity

    Linux: Double Free

    CVE-2023-52439Linux

    In the Linux kernel, the following vulnerability has been resolved: uio: Fix use-after-free in uio_open core-1 core-2 ------------------------------------------------------- uio_unregister_device uio_open idev = idr_find() device_unregister(&idev->dev) put_dev

  • 9.8 Critical severity

    libbiosig: Double Free

    CVE-2024-23809The Biosig ProjectEPSS 1.68%

    A double-free vulnerability exists in the BrainVision ASCII Header Parsing functionality of The Biosig Project libbiosig 2.5.0 and Master Branch (ab0ee111). A specially crafted .vdhr file can lead to arbitrary code execution. An attacker can provide a maliciou

  • 9.8 Critical severity

    libbiosig: Double Free

    CVE-2024-22097The Biosig ProjectEPSS 1.62%

    A double-free vulnerability exists in the BrainVision Header Parsing functionality of The Biosig Project libbiosig Master Branch (ab0ee111) and 2.5.0. A specially crafted .vdhr file can lead to arbitrary code execution. An attacker can provide a malicious file

  • 9.1 Critical severity

    uC-TCP-IP: Double Free

    CVE-2023-38562Weston EmbeddedEPSS 1.08%

    A double-free vulnerability exists in the IP header loopback parsing functionality of Weston Embedded uC-TCP-IP v3.06.01. A specially crafted set of network packets can lead to memory corruption, potentially resulting in code execution. An attacker can send a

  • 7.5 High severity

    Junos OS: Double Free

    CVE-2024-21606Juniper Networks

    A Double Free vulnerability in the flow processing daemon (flowd) of Juniper Networks Junos OS on SRX Series allows a network-based, unauthenticated attacker to cause a Denial of Service (DoS). In a remote access VPN scenario, if a "tcp-encap-profile" is confi

  • 7.8 High severity

    linux: Double Free

    CVE-2022-2588The Linux Kernel OrganizationEPSS 5.87%

    It was discovered that the cls_route filter implementation in the Linux kernel would not remove an old filter from the hashtable before freeing it if its handle had the value 0.

  • 9.8 Critical severity

    Slurm: Double Free

    CVE-2023-49937SchedMDEPSS 1.38%

    An issue was discovered in SchedMD Slurm 22.05.x, 23.02.x, and 23.11.x. Because of a double free, attackers can cause a denial of service or possibly execute arbitrary code. The fixed versions are 22.05.11, 23.02.7, and 23.11.1.

  • 8.8 High severity

    FortiOS: Double Free

    CVE-2023-41678FortinetEPSS 1.07%

    A double free in Fortinet FortiOS versions 7.0.0 through 7.0.5, FortiPAM version 1.0.0 through 1.0.3, 1.1.0 through 1.1.1 allows attacker to execute unauthorized code or commands via specifically crafted request.

  • 7.8 High severity

    Android: Double Free

    CVE-2023-40103Google

    In multiple locations, there is a possible way to corrupt memory due to a double free. This could lead to local escalation of privilege with no additional execution privileges needed. User interaction is not needed for exploitation.

  • 7.8 High severity

    Gpac: Double Free

    CVE-2023-48013GPAC

    GPAC v2.3-DEV-rev566-g50c2ab06f-master was discovered to contain a double free via the gf_filterpacket_del function at /gpac/src/filter_core/filter.c.

  • 7.8 High severity

    stb: Double Free

    CVE-2023-45679Nothings

    stb_vorbis is a single file MIT licensed library for processing ogg vorbis files. A crafted file may trigger memory allocation failure in `start_decoder`. In that case the function returns early, but some of the pointers in `f->comment_list` are left initializ

  • 9.8 Critical severity

    stb: Double Free

    CVE-2023-45666NothingsEPSS 1.07%

    stb_image is a single file MIT licensed library for processing images. It may look like `stbi__load_gif_main` doesn’t give guarantees about the content of output value `*delays` upon failure. Although it sets `*delays` to zero at the beginning, it doesn’t do i

  • 8.8 High severity

    stb: Double Free

    CVE-2023-45664Nothings

    stb_image is a single file MIT licensed library for processing images. A crafted image file can trigger `stbi__load_gif_main_outofmem` attempt to double-free the out variable. This happens in `stbi__load_gif_main` because when the `layers * stride` value is ze

  • 7.5 High severity

    Fast-DDS: Double Free

    CVE-2023-42459eProsimaEPSS 1%

    Fast DDS is a C++ implementation of the DDS (Data Distribution Service) standard of the OMG (Object Management Group). In affected versions specific DATA submessages can be sent to a discovery locator which may trigger a free error. This can remotely crash any

  • 7.8 High severity

    Kostac PLC Programming Software: Double Free

    CVE-2023-41374JTEKT ELECTRONICS

    Double free issue exists in Kostac PLC Programming Software Version 1.6.11.0 and earlier. Arbitrary code may be executed by having a user open a specially crafted project file which was saved using Kostac PLC Programming Software Version 1.6.9.0 and earlier be

  • 7.1 High severity

    Kernel: Double Free

    CVE-2023-4389Kernel

    A flaw was found in btrfs_get_root_ref in fs/btrfs/disk-io.c in the btrfs filesystem in the Linux Kernel due to a double decrement of the reference count. This issue may allow a local attacker with user privilege to crash the system or may lead to leaked inter

  • 8.8 High severity

    Kerberos 5: Double Free

    CVE-2023-39975MitEPSS 1.47%

    kdc/do_tgs_req.c in MIT Kerberos 5 (aka krb5) 1.21 before 1.21.2 has a double free that is reachable if an authenticated user can trigger an authorization-data handling failure. Incorrect data is copied from one ticket to another.

  • 7.5 High severity

    libwebp: Double Free

    CVE-2023-1999Chromium

    There exists a use after free/double free in libwebp. An attacker can use the ApplyFiltersAndEncode() function and loop through to free best.bw and assign best = trial pointer. The second loop will then return 0 because of an Out of memory error in VP8 encoder

  • 7.5 High severity

    Kernel: Double Free

    CVE-2023-3312Kernel

    A vulnerability was found in drivers/cpufreq/qcom-cpufreq-hw.c in cpufreq subsystem in the Linux Kernel. This flaw, during device unbind will lead to double release problem leading to denial of service.

  • 9.8 Critical severity

    Libressl: Double Free

    CVE-2023-35784OpenBSD

    A double free or use after free could occur after SSL_clear in OpenBSD 7.2 before errata 026 and 7.3 before errata 004, and in LibreSSL before 3.6.3 and 3.7.x before 3.7.3. NOTE: OpenSSL is not affected.

  • 7.8 High severity

    Android: Double Free

    CVE-2023-21106Android

    In adreno_set_param of adreno_gpu.c, there is a possible memory corruption due to a double free. This could lead to local escalation of privilege with no additional execution privileges needed. User interaction is not needed for exploitation.Product: AndroidVe

  • 7.8 High severity

    Linux Kernel: Double Free

    CVE-2023-28464Linux

    hci_conn_cleanup in net/bluetooth/hci_conn.c in the Linux kernel through 6.2.9 has a use-after-free (observed in hci_conn_hash_flush) because of calls to hci_dev_put and hci_conn_put. There is a double free that may lead to privilege escalation.

  • 7.8 High severity

    Kernel: Double Free

    CVE-2022-4744Kernel

    A double-free flaw was found in the Linux kernel’s TUN/TAP device driver functionality in how a user registers the device when the register_netdevice function fails (NETDEV_REGISTER notifier). This flaw allows a local user to crash or potentially escalate thei

  • 7.8 High severity

    tensorflow: Double Free

    CVE-2023-25801TensorFlow

    TensorFlow is an open source machine learning platform. Prior to versions 2.12.0 and 2.11.1, `nn_ops.fractional_avg_pool_v2` and `nn_ops.fractional_max_pool_v2` require the first and fourth elements of their parameter `pooling_ratio` to be equal to 1.0, as poo

  • 7.8 High severity

    Android: Double Free

    CVE-2023-21030Android

    In Confirmation of keystore_cli_v2.cpp, there is a possible way to corrupt memory due to a double free. This could lead to local escalation of privilege in an unprivileged process with no additional execution privileges needed. User interaction is not needed f

  • 7.8 High severity

    GPAC: Double Free

    CVE-2023-1449GPAC

    A vulnerability has been found in GPAC 2.3-DEV-rev35-gbbca86917-master and classified as problematic. This vulnerability affects the function gf_av1_reset_state of the file media_tools/av_parsers.c. The manipulation leads to double free. It is possible to laun