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

522 results · Feed

  • High 8.8

    smb: client: fix double-free in SMB2_open() replay

    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, clean…

  • High 7.5

    Redis before 8.8.0, in the unusual case where an authenticated attacker can execute RESTORE, allows remote code executi…

  • High 8.8

    libssh2 Double-Free Heap Corruption via sftp_open()

    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 …

  • High 7.0

    octeontx2-pf: avoid double free of pool->stack on AQ init failure

    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, o…

  • High 7.5

    When initializing an RSA public key from DER or PEM bytes throws an error, the EVP_PKEY* is double-freed: first in the …

  • High 8.8

    FFmpeg 4.4 - 8.1.2 Double-Free in NVDEC Hardware Decoder via nvdec.c

    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_…

  • High 7.3

    FreeRDP before 3.28.0 Double-Free via selectedmonitors

    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…

  • High 8.4

    qed: fix double free in qed_cxt_tables_alloc()

    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 bitm…

  • Critical 9.8

    scsi: target: iscsi: Fix CRC overread and double-free in iscsit_handle_text_cmd()

    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 e48354ce…

  • Medium 6.2

    YAML::Syck versions before 1.47 for Perl allow a use-after-free and double-free via an anchor node freed while still on the parser value stack

    YAML::Syck versions before 1.47 for Perl allow a use-after-free and double-free via an anchor node freed while still on the parser value stack. In the bundled libsyck, when an anchor name is redefined or removed, syck_hdlr_add_anchor and syck_hdlr_remove_anch…

  • High 7.8

    Microsoft Word Remote Code Execution Vulnerability

    Double free in Microsoft Office Word allows an unauthorized attacker to execute code locally.

  • High 7.5

    Windows DHCP Server Remote Code Execution Vulnerability

    Double free in Windows DHCP Server allows an authorized attacker to execute code over a network.

  • High 7.8

    Microsoft Brokering File System Elevation of Privilege Vulnerability

    Double free in Microsoft Brokering File System allows an authorized attacker to elevate privileges locally.

  • High 7.8

    Windows Print Configuration Elevation of Privilege Vulnerability

    Double free in Microsoft Printer Drivers allows an authorized attacker to elevate privileges locally.

  • High 8.7

    Rockwell Automation Flex 5000® Adapter - Denial of Service

    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 associat…

  • Low 3.3

    GPAC MP4Box avc_ext.c gf_isom_nalu_sample_rewrite double free

    A vulnerability was determined in GPAC up to 2.5-DEV. This vulnerability affects the function gf_isom_nalu_sample_rewrite of the file src/isomedia/avc_ext.c of the component MP4Box. This manipulation of the argument nalu_out_bs causes double free. It is possi…

  • Medium 6.3

    Open Asset Import Library Assimp PLY Model PlyLoader.cpp ExportToBlob double free

    A vulnerability was determined in Open Asset Import Library Assimp up to 6.0.4. Affected is the function Assimp::Exporter::ExportToBlob of the file code/AssetLib/Ply/PlyLoader.cpp of the component PLY Model Handler. This manipulation causes double free. The a…

  • Critical 9.8

    SASL double-free

    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.

  • Medium 6.1

    Gimp: gimp: double-free in read_layer_block()

    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 servic…

  • Medium 6.4

    Non-atomic `net_buf` reference counts cause double-free / free-list corruption under concurrent unref

    The Zephyr net_buf library (lib/net_buf/buf.c) manipulated both of its reference counts -- the per-header buf->ref and the per-data-block ref_count at the start of each variable/heap data allocation -- with plain non-atomic C operators (buf->ref++, if (--buf-…

  • High 7.5

    Libarchive: double-free vulnerability in rar5 decompression logic via dangling filtered_buf pointer in init_unpack()

    A double free issue has been identified in libarchive's RAR5 reader. During parsing of a specially crafted RAR5 archive, the filtered_buf pointer may remain stale after being freed during unpacking state reinitialization. Subsequent processing of another arch…

  • Medium 6.5

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

  • Medium 4.3

    Openssh: double free in red hat enterprise linux versions of openssh dh-gex client path during fips known-group validation leads to client-side denial of service

    A flaw was found in OpenSSH. A malicious SSH server can exploit a double free vulnerability in the Diffie-Hellman Group Exchange (DH-GEX) client path. This occurs during FIPS (Federal Information Processing Standards) mode known-group validation when the clie…

  • Medium 6.8

    ALSA Library < 1.2.16.1 Double-Free via parse_def() in conf.c

    The Advanced Linux Sound Architecture (ALSA) library before 1.2.16.1 contains a double-free vulnerability in parse_def() in src/conf.c that allows attackers to corrupt memory by supplying maliciously crafted ALSA configuration text. When parsing nested compou…

  • High 7.5

    The security fix for CVE-2025-0728 in eclipse-threadx NetX Duo refactors error handling in the HTTP server PUT process …

  • High 8.8

    Heap double-free in AWS Common Runtime aws-c-http

    Improper handling of HPACK dynamic table size updates in the AWS Common Runtime aws-c-http library might allow a remote threat actor operating a server to cause memory corruption on a connecting client application, potentially leading to arbitrary code execut…

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

  • High 7.5

    FreeRDP RDPEAR NDR ref-id aliasing causes client-side UAF/double-free and type confusion

    FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.26.0, FreeRDP's RDPEAR NDR parser accepts one non-null NDR pointer ref-id for multiple logical pointer fields without tracking the pointed object's expected NDR type or ownership. Whe…

  • Low 3.3

    Rizin: Double free in cmd_search.c

    Rizin is a UNIX-like reverse engineering framework and command-line toolset. There is a double free in librz/core/cmd/cmd_search.c:byte_pattern_search() due wrong pointer ownership declared. This vulnerability is fixed by commit 045fff363b42b8a6dda8ad5229c29e…

  • High 7.8

    RDMA/rxe: Fix double free in rxe_srq_from_init

    In the Linux kernel, the following vulnerability has been resolved: RDMA/rxe: Fix double free in rxe_srq_from_init In rxe_srq_from_init(), the queue pointer 'q' is assigned to 'srq->rq.queue' before copying the SRQ number to user space. If copy_to_user() fail…

  • Low 3.7

    PuTTY 0.72 before 0.84 has a double free in RSA KEX.

  • High 7.8
    CVE-2026-43494 Public exploit

    net/rds: reset op_nents when zerocopy page pin fails

    In the Linux kernel, the following vulnerability has been resolved: net/rds: reset op_nents when zerocopy page pin fails When iov_iter_get_pages2() fails in rds_message_zcopy_from_user(), the pinned pages are released with put_page(), and rm->data.op_mmp_znot…

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

  • Critical 9.8

    libbabl 0.1.62 Broken Double Free Detection Memory Safety

    libbabl 0.1.62 contains a broken double free detection vulnerability that allows attackers to bypass memory safety checks by exploiting signature overwriting in freed chunks. Attackers can call babl_free() twice on the same pointer without triggering detectio…

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

  • Low 2.5

    PoDoFo: Double-free vulnerability in compute_hash_to_sign()

    PoDoFo is a C++17 PDF manipulation library. From 1.0.0 to before 1.0.4, a double-free vulnerability exists in compute_hash_to_sign() in src/podofo/private/OpenSSLInternal_Ripped.cpp. If EVP_DigestFinal fails after buf has already been freed, the Error label f…

  • High 7.0

    Windows Link-Layer Discovery Protocol (LLDP) Elevation of Privilege Vulnerability

    Double free in Windows Link-Layer Discovery Protocol (LLDP) allows an authorized attacker to elevate privileges locally.

  • High 7.8

    Windows Message Queuing (MSMQ) Elevation of Privilege Vulnerability

    Double free in Windows Message Queuing 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.