CWEweakness
CWE-911 Improper Update of Reference Count
Medium
Official page ↗
- Abstraction
- Base
- Structure
- Simple
- Status
- Incomplete
- Likelihood of exploit
- Medium
- Languages
- C, C++, Not Language-Specific
- CWE version
- 5.0
Description
The product uses a reference count to manage a resource, but it does not update or incorrectly updates the reference count.
Common consequences
• Availability: DoS: Resource Consumption (Memory), DoS: Resource Consumption (Other) — If an adversary can prevent a reference count from reaching zero, then resources might not be released when they are supposed to, thus causing resources to become scarce for future needs.
• Availability: DoS: Crash, Exit, or Restart — If an adversary can cause a reference count to reach zero when the resource is still in use, then a resource might be released before it is supposed to be, possibly forcing an error that causes the product to crash or exit out of its current operation.
Observed examples
• CVE-2002-0574: Chain: reference count is not decremented, leading to memory leak in OS by sending ICMP packets.
• CVE-2004-0114: Reference count for shared memory not decremented when a function fails, potentially allowing unprivileged users to read kernel memory.
• CVE-2006-3741: Chain: improper reference count tracking leads to file descriptor consumption
• CVE-2007-1383: Chain: integer overflow in reference counter causes the same variable to be destroyed twice.
• CVE-2007-1700: Incorrect reference count calculation leads to improper object destruction and code execution.
• CVE-2008-2136: Chain: incorrect update of reference count leads to memory leak.
• CVE-2008-2785: chain/composite: use of incorrect data type for a reference counter allows an overflow of the counter, leading to a free of memory that is still in use.
• CVE-2008-5410: Improper reference counting leads to failure of cryptographic operations.
• CVE-2009-1709: Chain: improper reference counting in a garbage collection routine leads to use-after-free
• CVE-2009-3553: Chain: reference count not correctly maintained when client disconnects during a large operation, leading to a use-after-free.
• CVE-2009-3624: Reference count not always incremented, leading to crash or code execution.
• CVE-2010-0176: improper reference counting leads to expired pointer dereference.
• CVE-2010-0623: OS kernel increments reference count twice but only decrements once, leading to resource consumption and crash.
• CVE-2010-2549: OS kernel driver allows code execution
• CVE-2010-4593: improper reference counting leads to exhaustion of IP addresses
• CVE-2011-0695: Race condition causes reference counter to be decremented prematurely, leading to the destruction of still-active object and an invalid pointer dereference.
• CVE-2012-4787: improper reference counting leads to use-after-free
Related
Observed example · CVE (17)
- CVE-2012-4787 Use-after-free vulnerability in Microsoft Internet Explorer 9 and 10 allows remote attackers to execute arbitrary code via a crafted web… vulnerability
- CVE-2011-0695 Race condition in the cm_work_handler function in the InfiniBand driver (drivers/infiniband/core/cma.c) in Linux kernel 2.6.x allows remote… vulnerability
- CVE-2010-4593 The Connection Manager in IBM Lotus Mobile Connect before 6.1.4 does not properly maintain a certain reference count, which allows remote… vulnerability
- CVE-2010-2549 Use-after-free vulnerability in the kernel-mode drivers in Microsoft Windows Vista SP1 and SP2 and Server 2008 Gold and SP2 allows local… vulnerability
- CVE-2010-0176 Mozilla Firefox before 3.0.19, 3.5.x before 3.5.9, and 3.6.x before 3.6.2; Thunderbird before 3.0.4; and SeaMonkey before 2.0.4 do not… vulnerability
- CVE-2010-0623 The futex_lock_pi function in kernel/futex.c in the Linux kernel before 2.6.33-rc7 does not properly manage a certain reference count,… vulnerability
- CVE-2009-3553 Use-after-free vulnerability in the abstract file-descriptor handling interface in the cupsdDoSelect function in scheduler/select.c in the… vulnerability
- CVE-2009-3624 The get_instantiation_keyring function in security/keys/keyctl.c in the KEYS subsystem in the Linux kernel before 2.6.32-rc5 does not… vulnerability
- CVE-2009-1709 Use-after-free vulnerability in the garbage-collection implementation in WebCore in WebKit in Apple Safari before 4.0 allows remote… vulnerability
- CVE-2008-5410 The PK11_SESSION cache in the OpenSSL PKCS#11 engine in Sun Solaris 10 does not maintain reference counts for operations with asymmetric… vulnerability
- CVE-2008-2785 Mozilla Firefox before 2.0.0.16 and 3.x before 3.0.1, Thunderbird before 2.0.0.16, and SeaMonkey before 1.1.11 use an incorrect integer… vulnerability
- CVE-2008-2136 Memory leak in the ipip6_rcv function in net/ipv6/sit.c in the Linux kernel 2.4 before 2.4.36.5 and 2.6 before 2.6.25.3 allows remote… vulnerability
- CVE-2007-1700 The session extension in PHP 4 before 4.4.5, and PHP 5 before 5.2.1, calculates the reference count for the session variables without… vulnerability
- CVE-2007-1383 Integer overflow in the 16 bit variable reference counter in PHP 4 allows context-dependent attackers to execute arbitrary code by… vulnerability
- CVE-2006-3741 The perfmonctl system call (sys_perfmonctl) in Linux kernel 2.4.x and 2.6 before 2.6.18, when running on Itanium systems, does not properly… vulnerability
- CVE-2004-0114 The shmat system call in the System V Shared Memory interface for FreeBSD 5.2 and earlier, NetBSD 1.3 and earlier, and OpenBSD 2.6 and… vulnerability
- CVE-2002-0574 Memory leak in FreeBSD 4.5 and earlier allows remote attackers to cause a denial of service (memory exhaustion) via ICMP echo packets that… vulnerability
Can precede · CWE (2)
Child of · CWE (1)
- CWE-664 Improper Control of a Resource Through its Lifetime weakness
Referenced by CVE · weakness (20)
- CVE-2026-110753 Text::CSV_XS versions from 1.46 before 1.65 for Perl have a use-after-free of bind_columns variables when skip_empty_rows skips an empty… vulnerability
- CVE-2026-77587 Tor before 0.4.9.11 is prone to a use-after-free (and potential double free) of a conflux object when a recovery leg revives a conflux set… vulnerability
- CVE-2026-49419 When the JAIL_AT_DESC flag is specified, kern_jail_set() and kern_jail_get() released the reference to the caller's current prison before… vulnerability
- CVE-2026-19380 A vulnerability was identified in Mullvad wireguard.sys 0.10.1. vulnerability
- CVE-2026-52943 In the Linux kernel, the following vulnerability has been resolved: net: skbuff: fix missing zerocopy reference in pskb_carve helpers… vulnerability
- CVE-2026-46316 In the Linux kernel, the following vulnerability has been resolved: KVM: arm64: vgic-its: Drop the translation cache reference only for the… vulnerability
- CVE-2026-46099 In the Linux kernel, the following vulnerability has been resolved: net: ipv6: fix NOREF dst use in seg6 and rpl lwtunnels… vulnerability
- CVE-2026-42534 NLnet Labs Unbound up to and including version 1.25.0 has a vulnerability in the jostle logic that could defeat its purpose and degrade… vulnerability
- CVE-2024-45783 A flaw was found in grub2. vulnerability
- CVE-2024-46972 Software installed and run as a non-privileged user may conduct improper GPU system calls to trigger use-after-free kernel exceptions. vulnerability
- CVE-2024-43102 Concurrent removals of certain anonymous shared memory mappings by using the UMTX_SHM_DESTROY sub-request of UMTX_OP_SHM can lead to… vulnerability
- CVE-2021-47327 In the Linux kernel, the following vulnerability has been resolved: iommu/arm-smmu: Fix arm_smmu_device refcount leak when arm_smmu_rpm_get… vulnerability
- CVE-2023-5633 The reference count changes made as part of the CVE-2023-33951 and CVE-2023-33952 fixes exposed a use-after-free flaw in the way memory… vulnerability
- CVE-2023-2019 A flaw was found in the Linux kernel's netdevsim device driver, within the scheduling of events. vulnerability
- CVE-2020-11935 It was discovered that aufs improperly managed inode reference counts in the vfsub_dentry_open() method. vulnerability
- CVE-2022-37012 This vulnerability allows remote attackers to create a denial-of-service condition on affected installations of Unified Automation OPC UA… vulnerability
- CVE-2023-22394 An Improper Handling of Unexpected Data Type vulnerability in the handling of SIP calls in Juniper Networks Junos OS on SRX Series and MX… vulnerability
- CVE-2022-1678 An issue was discovered in the Linux Kernel from 4.18 to 4.19, an improper update of sock reference in TCP pacing can lead to memory/netns… vulnerability
- CVE-2022-29581 Improper Update of Reference Count vulnerability in net/sched of Linux Kernel allows local attacker to cause privilege escalation to root. vulnerability
- CVE-2022-22195 An Improper Update of Reference Count vulnerability in the kernel of Juniper Networks Junos OS Evolved allows an unauthenticated,… vulnerability