This vulnerability occurs when a program uses a reference counter to track resource usage but fails to update the count correctly, either by missing an update or applying an incorrect value.
Reference counting is a common technique for managing resources like memory blocks or file handles. The system tracks how many active pointers or handles refer to a resource, and the resource is only freed when this count drops to zero. If the count is accidentally decremented too early, the resource can be prematurely released while still in use, leading to crashes or use-after-free errors. Conversely, if the reference count isn't decremented when a reference is removed, the count never reaches zero. This creates a resource leak, where unused memory or handles are never reclaimed. Over time, these leaks degrade performance and can exhaust system resources, causing instability or denial of service.
Impact: DoS: Resource Consumption (Memory)DoS: Resource Consumption (Other)
An adversary that can cause a resource counter to become inaccurate may be able to create situations where resources are not accounted for and not released, thus causing resources to become scarce for future needs.
Impact: DoS: Crash, Exit, or Restart
An adversary that can cause a resource counter to become inaccurate may be able to force an error that causes the product to crash or exit out of its current operation.
Medium