Chi tiết nền tảng
Các cách xuất hiện
Implementation
Nền tảng áp dụng
Ngôn ngữ
Tên: C (Sometimes)
Tên: C++ (Sometimes)
Lớp: Not Language-Specific (Undetermined)
Hậu quả phổ biến
| Phạm vi |
Tác động |
Khả năng xảy ra |
| Availability | DoS: Resource Consumption (Memory), DoS: Resource Consumption (Other)
Ghi chú: 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. | High |
| Availability | DoS: Crash, Exit, or Restart
Ghi chú: 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. | Low |
Ví dụ đã quan sát
| Tài liệu tham khảo |
Mô tả |
| Chain: reference count is not decremented, leading to memory leak in OS by sending ICMP packets. |
| Reference count for shared memory not decremented when a function fails, potentially allowing unprivileged users to read kernel memory. |
| Chain: improper reference count tracking leads to file descriptor consumption |
| Chain: integer overflow in reference counter causes the same variable to be destroyed twice. |
| Incorrect reference count calculation leads to improper object destruction and code execution. |
| Chain: incorrect update of reference count leads to memory leak. |
| 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. |
| Improper reference counting leads to failure of cryptographic operations. |
| Chain: improper reference counting in a garbage collection routine leads to use-after-free |
| Chain: reference count not correctly maintained when client disconnects during a large operation, leading to a use-after-free. |
| Reference count not always incremented, leading to crash or code execution. |
| improper reference counting leads to expired pointer dereference. |
| OS kernel increments reference count twice but only decrements once, leading to resource consumption and crash. |
| OS kernel driver allows code execution |
| improper reference counting leads to exhaustion of IP addresses |
| Race condition causes reference counter to be decremented prematurely, leading to the destruction of still-active object and an invalid pointer dereference. |
| improper reference counting leads to use-after-free |
Ghi chú ánh xạ lỗ hổng
Lý do : This CWE entry is at the Base level of abstraction, which is a preferred level of abstraction for mapping to the root causes of vulnerabilities.
Bình luận : Carefully read both the name and description to ensure that this mapping is an appropriate fit. Do not try to 'force' a mapping to a lower-level Base/Variant simply to comply with this preferred level of abstraction.
Tài liệu tham khảo
REF-884
Windows Kernel Reference Count Vulnerabilities - Case Study
Mateusz "j00ru" Jurczyk.
https://j00ru.vexillium.org/slides/2012/zeronights.pdf
Gửi
| Tên |
Tổ chức |
Ngày |
Ngày phát hành |
Version |
| CWE Content Team |
MITRE |
2012-12-21 +00:00 |
2013-02-21 +00:00 |
2.4 |
Sửa đổi
| Tên |
Tổ chức |
Ngày |
Bình luận |
| CWE Content Team |
MITRE |
2019-06-20 +00:00 |
updated Type |
| CWE Content Team |
MITRE |
2020-02-24 +00:00 |
updated Relationships, Type |
| CWE Content Team |
MITRE |
2023-01-31 +00:00 |
updated Description |
| CWE Content Team |
MITRE |
2023-04-27 +00:00 |
updated References, Relationships |
| CWE Content Team |
MITRE |
2023-06-29 +00:00 |
updated Mapping_Notes |
| CWE Content Team |
MITRE |
2025-04-03 +00:00 |
updated Common_Consequences |
| CWE Content Team |
MITRE |
2026-10-28 +00:00 |
updated Background_Details, Common_Consequences, Description |