배경 세부 정보
취약점 도입 방식
Implementation
적용 가능한 플랫폼
언어
이름: C (Sometimes)
이름: C++ (Sometimes)
클래스: Not Language-Specific (Undetermined)
일반적인 결과
| 범위 |
영향 |
가능성 |
| 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. | High |
| 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. | Low |
관찰된 예시
| 참고 자료 |
설명 |
| 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 |
취약점 매핑 메모
근거 : 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.
댓글 : 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.
참고 자료
REF-884
Windows Kernel Reference Count Vulnerabilities - Case Study
Mateusz "j00ru" Jurczyk.
https://j00ru.vexillium.org/slides/2012/zeronights.pdf
제출
| 이름 |
조직 |
날짜 |
출시일 |
Version |
| CWE Content Team |
MITRE |
2012-12-21 +00:00 |
2013-02-21 +00:00 |
2.4 |
수정 사항
| 이름 |
조직 |
날짜 |
댓글 |
| 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 |