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.8 High severity

    Linux: Double Free

    CVE-2026-31787Linux

    In the Linux kernel, the following vulnerability has been resolved: xen/privcmd: fix double free via VMA splitting privcmd_vm_ops defines .close (privcmd_close), but neither .may_split nor .open. When userspace does a partial munmap() on a privcmd mapping, the

  • 7.8 High severity

    Linux: Double Free

    CVE-2026-31686Linux

    In the Linux kernel, the following vulnerability has been resolved: mm/kasan: fix double free for kasan pXds kasan_free_pxd() assumes the page table is always struct page aligned. But that's not always the case for all architectures. E.g. In case of powerpc wi

  • 9.8 Critical severity

    Linux: Double Free

    CVE-2026-31609Linux

    In the Linux kernel, the following vulnerability has been resolved: smb: client: avoid double-free in smbd_free_send_io() after smbd_send_batch_flush() smbd_send_batch_flush() already calls smbd_free_send_io(), so we should not call it again after smbd_post_se

  • 9.8 Critical severity

    Linux: Double Free

    CVE-2026-31608Linux

    In the Linux kernel, the following vulnerability has been resolved: smb: server: avoid double-free in smb_direct_free_sendmsg after smb_direct_flush_send_list() smb_direct_flush_send_list() already calls smb_direct_free_sendmsg(), so we should not call it agai

  • 7.8 High severity

    Linux: Double Free

    CVE-2026-31507Linux

    In the Linux kernel, the following vulnerability has been resolved: net/smc: fix double-free of smc_spd_priv when tee() duplicates splice pipe buffer smc_rx_splice() allocates one smc_spd_priv per pipe_buffer and stores the pointer in pipe_buffer.private. The

  • 7.8 High severity

    Linux: Double Free

    CVE-2026-31506Linux

    In the Linux kernel, the following vulnerability has been resolved: net: bcmasp: fix double free of WoL irq We do not need to free wol_irq since it was instantiated with devm_request_irq(). So devres will free for us.

  • 7.8 High severity

    Linux: Double Free

    CVE-2026-31489Linux

    In the Linux kernel, the following vulnerability has been resolved: spi: meson-spicc: Fix double-put in remove path meson_spicc_probe() registers the controller with devm_spi_register_controller(), so teardown already drops the controller reference via devm cl

  • 7.8 High severity

    Linux: Double Free

    CVE-2026-31475Linux

    In the Linux kernel, the following vulnerability has been resolved: ASoC: sma1307: fix double free of devm_kzalloc() memory A previous change added NULL checks and cleanup for allocation failures in sma1307_setting_loaded(). However, the cleanup for mode_set e

  • 7.8 High severity

    Linux: Double Free

    CVE-2026-31471Linux

    In the Linux kernel, the following vulnerability has been resolved: xfrm: iptfs: only publish mode_data after clone setup iptfs_clone_state() stores x->mode_data before allocating the reorder window. If that allocation fails, the code frees the cloned state an

  • 7.8 High severity

    Linux: Double Free

    CVE-2026-31468Linux

    In the Linux kernel, the following vulnerability has been resolved: vfio/pci: Fix double free in dma-buf feature The error path through vfio_pci_core_feature_dma_buf() ignores its own advice to only use dma_buf_put() after dma_buf_export(), instead falling thr

  • 9.8 Critical severity

    Microsoft Internet Key Exchange (IKE) Service Extensions Double Free Exploited

    CVE-2026-33824MicrosoftEPSS 77.4%

    Double free in Windows IKE Extension allows an unauthorized attacker to execute code over a network.

  • 7.8 High severity

    Linux: Double Free

    CVE-2026-23449Linux

    In the Linux kernel, the following vulnerability has been resolved: net/sched: teql: Fix double-free in teql_master_xmit Whenever a TEQL devices has a lockless Qdisc as root, qdisc_reset should be called using the seq_lock to avoid racing with the datapath. Fa

  • 7.8 High severity

    Linux: Double Free

    CVE-2026-23408Linux

    In the Linux kernel, the following vulnerability has been resolved: apparmor: Fix double free of ns_name in aa_replace_profiles() if ns_name is NULL after 1071 error = aa_unpack(udata, &lh, &ns_name); and if ent->ns_name contains an ns_name in 1089 } else if (

  • 7.8 High severity

    Linux: Double Free

    CVE-2026-23387Linux

    In the Linux kernel, the following vulnerability has been resolved: pinctrl: cirrus: cs42l43: Fix double-put in cs42l43_pin_probe() devm_add_action_or_reset() already invokes the action on failure, so the explicit put causes a double-put.

  • 7.5 High severity

    MongoDB Server: Double Free

    CVE-2026-4358MongoDB

    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.

  • 7.0 High severity

    giflib: Double Free

    CVE-2026-23868Giflib

    Giflib contains a double-free vulnerability that is the result of a shallow copy in GifMakeSavedImage and incorrect error handling. The conditions needed to trigger this vulnerability are difficult but may be possible.

  • 7.5 High severity

    Binutils: Double Free

    CVE-2025-69650GNU

    GNU Binutils thru 2.46 readelf contains a double free vulnerability when processing a crafted ELF binary with malformed relocation data. During GOT relocation handling, dump_relocations may return early without initializing the all_relocations array. As a resu

  • 7.8 High severity

    Linux: Double Free

    CVE-2025-71238Linux

    In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Fix bsg_done() causing double free Kernel panic observed on system, [5353358.825191] BUG: unable to handle page fault for address: ff5f5e897b024000 [5353358.825194] #PF: supervi

  • 7.8 High severity

    Linux: Double Free

    CVE-2026-23162Linux

    In the Linux kernel, the following vulnerability has been resolved: drm/xe/nvm: Fix double-free on aux add failure After a successful auxiliary_device_init(), aux_dev->dev.release (xe_nvm_release_dev()) is responsible for the kfree(nvm). When there is failure

  • 7.5 High severity

    MuPDF: Double Free

    CVE-2026-25556Artifex Software

    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 its

  • 7.8 High severity

    Linux: Double Free

    CVE-2026-23098Linux

    In the Linux kernel, the following vulnerability has been resolved: netrom: fix double-free in nr_route_frame() In nr_route_frame(), old_skb is immediately freed without checking if nr_neigh->ax25 pointer is NULL. Therefore, if nr_neigh->ax25 is NULL, the call

  • 7.8 High severity

    Linux: Double Free

    CVE-2026-23068Linux

    In the Linux kernel, the following vulnerability has been resolved: spi: spi-sprd-adi: Fix double free in probe error path The driver currently uses spi_alloc_host() to allocate the controller but registers it using devm_spi_register_controller(). If devm_regi

  • 7.5 High severity

    Junos OS: Double Free

    CVE-2026-21918Juniper Networks

    A Double Free vulnerability in the flow processing daemon (flowd) of Juniper Networks Junos OS on SRX and MX Series allows an unauthenticated, network-based attacker to cause a Denial-of-Service (DoS). On all SRX and MX Series platforms, when during TCP sessio

  • 7.8 High severity

    Windows 10 Version 1809: Concurrent Execution using Shared Resource with Improper Synchronization

    CVE-2026-20867Microsoft

    Concurrent execution using shared resource with improper synchronization ('race condition') in Windows Management Services allows an authorized attacker to elevate privileges locally.

  • 7.8 High severity

    Windows 10 Version 1809: Concurrent Execution using Shared Resource with Improper Synchronization

    CVE-2026-20861Microsoft

    Concurrent execution using shared resource with improper synchronization ('race condition') in Windows Management Services allows an authorized attacker to elevate privileges locally.

  • 7.0 High severity

    MediaTek chipset: Concurrent Execution using Shared Resource with Improper Synchronization

    CVE-2025-20801MediaTek

    In seninf, there is a possible memory corruption due to a race condition. This could lead to local escalation of privilege if a malicious actor has already obtained the System privilege. User interaction is not needed for exploitation. Patch ID: ALPS10251210;

  • 7.8 High severity

    MediaTek chipset: Use After Free

    CVE-2025-20781MediaTek

    In display, there is a possible memory corruption due to use after free. This could lead to local escalation of privilege if a malicious actor has already obtained the System privilege. User interaction is not needed for exploitation. Patch ID: ALPS10182914; I

  • 7.8 High severity

    Android: Double Free

    CVE-2025-36919Google

    In aocc_read of aoc_channel_dev.c, there is a possible double free due to improper locking. This could lead to local escalation of privilege with no additional execution privileges needed. User interaction is not needed for exploitation.

  • 7.0 High severity

    Windows 11 Version 24H2: Concurrent Execution using Shared Resource with Improper Synchronization

    CVE-2025-62469Microsoft

    Concurrent execution using shared resource with improper synchronization ('race condition') in Microsoft Brokering File System allows an authorized attacker to elevate privileges locally.

  • 7.0 High severity

    Microsoft Windows Race Condition Exploited

    CVE-2025-62215MicrosoftEPSS 4.46%

    Concurrent execution using shared resource with improper synchronization ('race condition') in Windows Kernel allows an authorized attacker to elevate privileges locally.

  • 7.5 High severity

    BIG-IP: Double Free

    CVE-2025-61990F5

    When using a multi-bladed platform with more than one blade, undisclosed traffic can cause the Traffic Management Microkernel (TMM) to terminate. Note: Software versions which have reached End of Technical Support (EoTS) are not evaluated.

  • 7.0 High severity

    Virtual GPU Manager: Double Free

    CVE-2025-23282NVIDIA

    NVIDIA Display Driver for Linux contains a vulnerability where an attacker might be able to use a race condition to escalate privileges. A successful exploit of this vulnerability might lead to code execution, escalation of privileges, data tampering, denial o

  • 7.8 High severity

    Linux: Double Free

    CVE-2022-50543Linux

    In the Linux kernel, the following vulnerability has been resolved: RDMA/rxe: Fix mr->map double free rxe_mr_cleanup() which tries to free mr->map again will be called when rxe_mr_init_user() fails: CPU: 0 PID: 4917 Comm: rdma_flush_serv Kdump: loaded Not tain

  • 7.8 High severity

    Linux: Double Free

    CVE-2022-50536Linux

    In the Linux kernel, the following vulnerability has been resolved: bpf, sockmap: Fix repeated calls to sock_put() when msg has more_data In tcp_bpf_send_verdict() redirection, the eval variable is assigned to __SK_REDIRECT after the apply_bytes data is sent,

  • 7.8 High severity

    Linux: Double Free

    CVE-2023-53616Linux

    In the Linux kernel, the following vulnerability has been resolved: jfs: fix invalid free of JFS_IP(ipimap)->i_imap in diUnmount syzbot found an invalid-free in diUnmount: BUG: KASAN: double-free in slab_free mm/slub.c:3661 [inline] BUG: KASAN: double-free in

  • 7.8 High severity

    Linux: Double Free

    CVE-2023-53596Linux

    In the Linux kernel, the following vulnerability has been resolved: drivers: base: Free devm resources when unregistering a device In the current code, devres_release_all() only gets called if the device has a bus and has been probed. This leads to issues when

  • 7.8 High severity

    Linux: Double Free

    CVE-2022-50499Linux

    In the Linux kernel, the following vulnerability has been resolved: media: dvb-core: Fix double free in dvb_register_device() In function dvb_register_device() -> dvb_register_media_device() -> dvb_create_media_entity(), dvb->entity is allocated and initialize

  • 7.8 High severity

    Linux: Double Free

    CVE-2022-50470Linux

    In the Linux kernel, the following vulnerability has been resolved: xhci: Remove device endpoints from bandwidth list when freeing the device Endpoints are normally deleted from the bandwidth list when they are dropped, before the virt device is freed. If xHC

  • 7.8 High severity

    Linux: Double Free

    CVE-2023-53510Linux

    In the Linux kernel, the following vulnerability has been resolved: scsi: ufs: core: Fix handling of lrbp->cmd ufshcd_queuecommand() may be called two times in a row for a SCSI command before it is completed. Hence make the following changes: - In the function

  • 7.8 High severity

    Linux: Double Free

    CVE-2025-39870Linux

    In the Linux kernel, the following vulnerability has been resolved: dmaengine: idxd: Fix double free in idxd_setup_wqs() The clean up in idxd_setup_wqs() has had a couple bugs because the error handling is a bit subtle. It's simpler to just re-write it in a cl