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

    Kamailio: Double Free

    CVE-2026-52023Kamailio

    An issue in kamailio v.6.1.1 and before allows a remote attacker to cause a denial of service via the ims_registrar_pcscf module, specifically the pcscf_save_pending/save_pending path and security-agreement parsing in sec_agree.c:parse_sec_agree()

  • 8.7 High severity

    Fireware OS: Double Free

    CVE-2026-19316WatchGuard

    A double-free vulnerability in the WatchGuard Fireware OS iked process allows a remote unauthenticated attacker to create a Denial of Service (DoS) condition in VPN processing by sending specially crafted network traffic.

  • 7.5 High severity

    BI Connector: Double Free

    CVE-2026-75159MongoDB

    An unauthenticated client that can reach a MongoDB Connector for BI deployment configured with Kerberos authentication may cause mongosqld to terminate when a crafted authentication exchange encounters a specific GSSAPI error-handling condition. This can inter

  • 7.5 High severity

    OpenSSL: Double Free

    CVE-2026-18798OpenSSLEPSS 1.7%

    Issue summary: QUIC server may double free QRX (QUIC record layer RX) object when channel creation fails for initial packet. Impact summary: Double free leads to heap corruption, which typically results in termination of QUIC server process, leading to Denial

  • 7.5 High severity

    strongSwan: Double Free

    CVE-2026-47895strongSwan

    In strongSwan before 6.0.7, identity parsing/cloning is mishandled. Parsed EAP-Identities that result in an empty but non-NULL encoding are not correctly cloned and trigger a double-free once the duplicates are destroyed.

  • 7.8 High severity

    Linux: Double Free

    CVE-2026-72102Linux

    In the Linux kernel, the following vulnerability has been resolved: dm_early_create: fix freeing used table on dm_resume failure If dm_resume fails, the kernel attempts to free table with dm_table_destroy, but the table was already instantiated with dm_swap_ta

  • 7.8 High severity

    Linux: Double Free

    CVE-2026-68236Linux

    In the Linux kernel, the following vulnerability has been resolved: drm/amd/display: set new_stream to NULL after release In dm_update_crtc_state(), the skip_modeset path releases new_stream via dc_stream_release() but does not set the pointer to NULL. If a la

  • 8.8 High severity

    Linux: Double Free

    CVE-2026-68192Linux

    In the Linux kernel, the following vulnerability has been resolved: wifi: brcmfmac: make release_scratchbuffers idempotent brcmf_pcie_release_scratchbuffers() frees the shared.scratch and shared.ringupd DMA buffers with dma_free_coherent() but does not clear t

  • 7.5 High severity

    Cisco Secure Endpoint: Double Free

    CVE-2026-20338Cisco

    A vulnerability in the zip archive parser of ClamAV could allow an unauthenticated, remote attacker to cause a DoS condition on an affected device. This vulnerability is due to improper memory handling when processing content in zip files during scanning. An a

  • 7.8 High severity

    llama.cpp: Double Free

    CVE-2026-43622Ggml-org

    llama.cpp builds b1886 through b7445 contain a double free vulnerability in the LLaMA-Android JNI wrapper where new_1batch() allocates memory using malloc() while free_1batch() deallocates it using the C++ delete operator, causing heap metadata corruption. Att

  • 7.8 High severity

    Linux: Double Free

    CVE-2026-64599Linux

    In the Linux kernel, the following vulnerability has been resolved: crypto: amlogic - avoid double cleanup in meson_crypto_probe() When meson_allocate_chanlist() fails after a partial allocation, it already unwinds the allocated chanlist state through its loca

  • 9.8 Critical severity

    Linux: Double Free

    CVE-2026-64597Linux

    In the Linux kernel, the following vulnerability has been resolved: smb: client: fix double-free in SMB2_close() replay A response-bearing attempt can return a replayable error and free its response buffer. If SMB2_close_init() fails before the next send, clea

  • 7.8 High severity

    Linux: Double Free

    CVE-2026-64580Linux

    In the Linux kernel, the following vulnerability has been resolved: xfrm6: clear dst.dev on error to avoid double netdev_put in xfrm6_fill_dst() On the error path where in6_dev_get(dev) returns NULL, xfrm6_fill_dst() releases the device reference with netdev_p

  • 7.8 High severity

    Linux: Double Free

    CVE-2026-64570Linux

    In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: fix fils_discovery double free on alloc failure ieee80211_set_fils_discovery() calls kfree_rcu() on the old template before allocating the replacement. If the kzalloc() then fa

  • 8.7 High severity

    open-iscsi: Double Free

    CVE-2026-55995Open-iscsi

    A Double Free vulnerability in open-iscsi allows an unauthenticated MITM attacker to cause DoS. This issue affects open-iscsi: from ? through 56718d4e9d1a4f51c30697b5c0534144bb41c9bb.

  • 9.8 Critical severity

    Linux: Double Free

    CVE-2026-64535Linux

    In the Linux kernel, the following vulnerability has been resolved: nvmet-tcp: Fix potential UAF when ddgst mismatch Shivam Kumar found via vulnerability testing: When data digest is enabled on an NVMe/TCP connection and a digest mismatch occurs on a non-final

  • 7.8 High severity

    Linux: Double Free

    CVE-2026-64447Linux

    In the Linux kernel, the following vulnerability has been resolved: staging: media: ipu7: fix double-free and use-after-free in error paths In both ipu7_isys_init() and ipu7_psys_init(), pdata is allocated and then passed to ipu7_bus_initialize_device(), which

  • 9.8 Critical severity

    Linux: Double Free

    CVE-2026-64387Linux

    In the Linux kernel, the following vulnerability has been resolved: smb: client: fix query directory replay double-free A response-bearing attempt can return a replayable error and free its response buffer. If SMB2_query_directory_init() fails before the next

  • 9.8 Critical severity

    Linux: Double Free

    CVE-2026-64386Linux

    In the Linux kernel, the following vulnerability has been resolved: smb: client: fix query_info() replay double-free A response-bearing attempt can return a replayable error and free its response buffer. If SMB2_query_info_init() fails before the next send, cl

  • 9.8 Critical severity

    Linux: Double Free

    CVE-2026-64385Linux

    In the Linux kernel, the following vulnerability has been resolved: smb: client: fix double-free in SMB2_ioctl() replay A response-bearing attempt can return a replayable error and free its response buffer. If SMB2_ioctl_init() fails before the next send, clea

  • 9.8 Critical severity

    Linux: Double Free

    CVE-2026-64384Linux

    In the Linux kernel, the following vulnerability has been resolved: smb: client: fix change notify replay double-free A response-bearing attempt can return a replayable error and free its response buffer. If SMB2_notify_init() fails before the next send, clean

  • 9.8 Critical severity

    Linux: Double Free

    CVE-2026-64383Linux

    In the Linux kernel, the following vulnerability has been resolved: smb: client: fix double-free in SMB2_flush() replay SMB2_flush() keeps its response buffer bookkeeping across replay attempts. If a replayable flush response is received and the retry then fai

  • 8.8 High severity

    Linux: Double Free

    CVE-2026-64382Linux

    In the Linux kernel, the following vulnerability has been resolved: smb: client: fix double-free in SMB2_open() replay A response-bearing attempt can return a replayable error and free its response buffer. If SMB2_open_init() fails before the next send, cleanu

  • 7.8 High severity

    Linux: Double Free

    CVE-2026-64377Linux

    In the Linux kernel, the following vulnerability has been resolved: cpufreq: qcom-cpufreq-hw: Fix possible double free qcom_cpufreq.data is allocated with devm_kzalloc() in probe() as an array of per-domain data. qcom_cpufreq_hw_cpu_init() stores a pointer to

  • 7.5 High severity

    Redis: Double Free

    CVE-2026-66373Redis

    Redis before 8.8.0, in the unusual case where an authenticated attacker can execute RESTORE, allows remote code execution via a RESTORE payload where the same NACK (pending entry) is referenced by more than one consumer, because deleting both consumers via XGR

  • 8.8 High severity

    libssh2: Double Free

    CVE-2026-66032Libssh2

    libssh2 through 1.11.1, fixed in commit 5e47761, contains a double-free vulnerability in the sftp_open() function in src/sftp.c that allows a malicious SSH server to corrupt the heap of any authenticated client opening an SFTP session. When a server responds t

  • 7.8 High severity

    Linux: Double Free

    CVE-2026-64242Linux

    In the Linux kernel, the following vulnerability has been resolved: usb: gadget: net2280: Fix double free in probe error path usb_initialize_gadget() installs gadget_release() as the release callback for the embedded gadget device. The struct net2280 instance

  • 7.8 High severity

    Linux: Double Free

    CVE-2026-64224Linux

    In the Linux kernel, the following vulnerability has been resolved: octeontx2-pf: fix double free in rvu_rep_rsrc_init() rvu_rep_rsrc_init() allocates queue memory before calling otx2_init_hw_resources(). When hardware resource setup fails, otx2_init_hw_resour

  • 7.0 High severity

    Linux: Double Free

    CVE-2026-64222Linux

    In the Linux kernel, the following vulnerability has been resolved: octeontx2-pf: avoid double free of pool->stack on AQ init failure otx2_pool_aq_init() frees pool->stack when mailbox sync or retry allocation fails, but leaves the pointer unchanged. Later, ot

  • 7.5 High severity

    swift-crypto: Double Free

    CVE-2026-43823Apple

    When initializing an RSA public key from DER or PEM bytes throws an error, the EVP_PKEY* is double-freed: first in the catch block, then in the deinit. This can lead to a crash on future memory allocations. This double-free manifests when BoringSSL cannot deco

  • 8.8 High severity

    FFmpeg: Double Free

    CVE-2026-64832FFmpeg

    FFmpeg versions 4.4 through 8.1.2 contain a double-free vulnerability in the NVIDIA NVDEC hardware decoder within libavcodec/nvdec.c that allows attackers to trigger memory corruption by supplying a crafted video file. When no decoder surfaces remain, the ff_n

  • 7.3 High severity

    FreeRDP: Double Free

    CVE-2026-64621FreeRDP

    FreeRDP before 3.28.0 (affected 3.x through 3.27.1) contains a double-free vulnerability in freerdp_client_rdp_file_apply_to_settings() (client/common/file.c) when parsing the selectedmonitors field of a .rdp connection file. The MonitorIds array is allocated

  • 8.4 High severity

    Linux: Double Free

    CVE-2026-64118Linux

    In the Linux kernel, the following vulnerability has been resolved: qed: fix double free in qed_cxt_tables_alloc() If one of the later PF or VF CID bitmap allocations fails, qed_cid_map_alloc() jumps to cid_map_fail and frees the previously allocated CID bitma

  • 7.8 High severity

    Linux: Double Free

    CVE-2026-64054Linux

    In the Linux kernel, the following vulnerability has been resolved: net: shaper: reject duplicate leaves in GROUP request net_shaper_nl_group_doit() does not deduplicate NET_SHAPER_A_LEAVES entries. When userspace supplies the same leaf handle twice, the same

  • 7.8 High severity

    Linux: Double Free

    CVE-2026-63907Linux

    In the Linux kernel, the following vulnerability has been resolved: uio: uio_pci_generic_sva: fix double free of devm_kzalloc() memory uio_pci_sva allocates struct uio_pci_sva_dev with devm_kzalloc() in probe(), but then calls kfree(udev) both on the probe() e

  • 9.8 Critical severity

    Linux: Double Free

    CVE-2026-63888Linux

    In the Linux kernel, the following vulnerability has been resolved: scsi: target: iscsi: Fix CRC overread and double-free in iscsit_handle_text_cmd() Two latent bugs in the Text-phase handler, both present since the original LIO integration in commit e48354ce0

  • 7.8 High severity

    Linux: Double Free

    CVE-2026-63822Linux

    In the Linux kernel, the following vulnerability has been resolved: wifi: ath11k: fix warning when unbinding If there is an error during some initialization related to firmware, the buffers dp->tx_ring[i].tx_status are released. However this is released again

  • 8.7 High severity

    The FLEX 5000® EtherNet/IP Adapter: Double Free

    CVE-2026-12659Rockwell Automation

    A denial-of-service security issue exists in the affected products. The security issue stems from improper handling of exceptional conditions when processing crafted CIP packets sent to the adapter. A power cycle is required to recover the module and associate

  • 9.8 Critical severity

    curl: Double Free

    CVE-2026-8925CurlEPSS 1.08%

    The curl logic that works with SASL authentication could end up cleaning up the GSASL context *twice* without clearing the pointer in between, making it `free()` the same pointer twice.

  • 7.3 High severity

    Red Hat Enterprise Linux 6: Double Free

    CVE-2026-58381Red Hat

    A flaw was found in GIMP's PSP file format parser. A double-free condition occurs in the read_layer_block() function when processing a specially crafted PSP file. This could allow an attacker to cause memory corruption, potentially leading to denial of service