CWEweakness
CWE-763 Release of Invalid Pointer or Reference
- Abstraction
- Base
- Structure
- Simple
- Status
- Incomplete
- Languages
- C, C++, Memory-Unsafe
- CWE version
- 5.0
Description
The product attempts to return a memory resource to the system, but it calls the wrong release function or calls the appropriate release function incorrectly.
Common consequences
• Integrity, Availability, Confidentiality: Modify Memory, DoS: Crash, Exit, or Restart, Execute Unauthorized Code or Commands — This weakness may result in the corruption of memory, and perhaps instructions, possibly leading to a crash. If the corrupted memory can be effectively controlled, it may be possible to execute arbitrary code.
Potential mitigations
• [Implementation] Only call matching memory management functions. Do not mix and match routines. For example, when you allocate a buffer with malloc(), dispose of the original pointer with free().
• [Implementation] When programming in C++, consider using smart pointers provided by the boost library to help correctly and consistently manage memory.
• [Architecture and Design] Use a vetted library or framework that does not allow this weakness to occur or provides constructs that make this weakness easier to avoid.
For example, glibc in Linux provides protection against free of invalid pointers.
• [Architecture and Design] Use a language that provides abstractions for memory allocation and deallocation.
Detection methods
• Fuzzing: Fuzz testing (fuzzing) is a powerful technique for generating large numbers of diverse inputs - either randomly or algorithmically - and dynamically invoking the code with those inputs. Even with random inputs, it is often capable of generating unexpected results such as crashes, memory corruption, or resource consumption. Fuzzing effectively produces repeatable test cases that clearly indicate bugs, which helps developers to diagnose the issues.
• Automated Dynamic Analysis: Use tools that are integrated during
compilation to insert runtime error-checking mechanisms
related to memory safety errors, such as AddressSanitizer
(ASan) for C/C++ [REF-1518] or valgrind [REF-480].
Observed examples
• CVE-2025-11015: 3D engine rendering backend performs a delete[] on a buffer that was allocated using malloc()
• CVE-2019-11930: function "internally calls 'calloc' and returns a pointer at an index... inside the allocated buffer. This led to freeing invalid memory."
Related
Observed example · CVE (2)
- CVE-2025-11015 A weakness has been identified in OGRECave Ogre up to 14.4.1. vulnerability
- CVE-2019-11930 An invalid free in mb_detect_order can cause the application to crash or potentially result in remote code execution. vulnerability
Child of · CWE (1)
- CWE-404 Improper Resource Shutdown or Release weakness
Referenced by CVE · weakness (120)
- CVE-2026-112893 Pillow is a Python imaging library. vulnerability
- CVE-2026-68908 libIEC61850 is an open-source implementation of IEC 61850 client and server protocols including MMS, GOOSE, Sampled Values, and R-Session. vulnerability
- CVE-2026-108133 Release of invalid pointer or reference in Windows Modern Device Management (MDM) allows an authorized attacker to elevate privileges… vulnerability
- CVE-2026-83735 Release of invalid pointer or reference in Windows Kernel allows an authorized attacker to elevate privileges locally. vulnerability
- CVE-2026-83889 Release of invalid pointer or reference in DNS Server allows an authorized attacker to execute code over a network. vulnerability
- CVE-2026-83908 Release of invalid pointer or reference in RPC Runtime allows an authorized attacker to elevate privileges locally. vulnerability
- CVE-2026-85362 Release of invalid pointer or reference in Windows Management Instrumentation allows an authorized attacker to elevate privileges locally. vulnerability
- CVE-2026-85850 Release of invalid pointer or reference in Windows Kernel allows an authorized attacker to elevate privileges locally. vulnerability
- CVE-2026-97011 Use of uninitialized resource in Microsoft Office Excel allows an unauthorized attacker to execute code over a network. vulnerability
- CVE-2026-100813 Invalid pointer in the JavaScript Engine: JIT component. vulnerability
- CVE-2026-98160 In the Linux kernel, the following vulnerability has been resolved: staging: rtl8723bs: fix mismatched free of HalData in… vulnerability
- CVE-2026-88340 An invalid pointer release vulnerability exists in YARA 4.5.8 during deserialization of compiled .yrc rule files. vulnerability
- CVE-2026-16005 Release of Invalid Pointer or Reference in Armoury Crate driver allows a local user to free arbitrary memory via a crafted IOCTL request by… vulnerability
- CVE-2026-74860 A flaw was found in libxml2 with Python bindings enabled. vulnerability
- CVE-2026-77500 Release of invalid pointer or reference in Windows Device Association Service allows an authorized attacker to elevate privileges locally. vulnerability
- CVE-2026-84131 Privilege escalation due to invalid pointer in the Graphics component. vulnerability
- CVE-2023-20511 Release of an invalid pointer in the AMD kernel mode driver (KMD) could allow a privileged attacker to create a double free condition… vulnerability
- CVE-2026-19315 A type confusion vulnerability in the iked process of WatchGuard Fireware OS allows a remote unauthenticated attacker to execute arbitrary… vulnerability
- CVE-2026-74947 Privilege escalation due to invalid pointer in the Graphics component. vulnerability
- CVE-2026-63809 In the Linux kernel, the following vulnerability has been resolved: bpf: use kvfree() for replaced sysctl write buffer… vulnerability
- CVE-2026-63986 In the Linux kernel, the following vulnerability has been resolved: ethtool: tsinfo: don't pass ERR_PTR to genlmsg_cancel on prepare… vulnerability
- CVE-2026-15718 We are aware that exploit code for this is public however we are not aware of any attacks in the wild abusing this flaw. vulnerability
- CVE-2026-57248 When the application opens a PDF file and JavaScript writes annotation attributes, there is a lack of sufficient object type and argument… vulnerability
- CVE-2026-52993 In the Linux kernel, the following vulnerability has been resolved: tipc: fix double-free in tipc_buf_append() tipc_msg_validate() can… vulnerability
- CVE-2026-53000 In the Linux kernel, the following vulnerability has been resolved: netfilter: nat: use kfree_rcu to release ops Florian Westphal says:… vulnerability
- CVE-2026-9516 Cpanel::JSON::XS versions before 4.41 for Perl allow denial of service via UTF-8 BOM prefixed input when a decode filter callback throws. vulnerability
- CVE-2026-46116 In the Linux kernel, the following vulnerability has been resolved: xfrm: defensively unhash xfrm_state lists in __xfrm_state_delete KASAN… vulnerability
- CVE-2026-46189 In the Linux kernel, the following vulnerability has been resolved: RDMA/vmw_pvrdma: Fix double free on pvrdma_alloc_ucontext() error path… vulnerability
- CVE-2026-47312 Release of invalid pointer or reference vulnerability in Samsung Open Source Escargot allows Buffer Manipulation. vulnerability
- CVE-2025-48431 Mismatched Memory Management Routines vulnerability in Apache Thrift c_glib language bindings. vulnerability
Referenced by CWE · child of (2)
Referenced by CWE · has member (1)
- CWE-884 CWE Cross-section view