This vulnerability occurs when a program fails to keep track of open files or resources, preventing the system from properly closing and reclaiming them.
When a file, network socket, or other system resource is opened, the operating system assigns it a unique identifier called a file descriptor or handle. If the software loses its reference to this identifier—for example, by overwriting a variable or exiting a scope without closing it—the resource remains allocated but unusable. This is often called a resource leak. Over time, these unreleased resources accumulate. Since operating systems impose strict limits on the total number of file descriptors available per process, the application can eventually exhaust this pool. When all descriptors are consumed, the program will fail to open new files, establish network connections, or even crash, potentially causing a denial-of-service condition for itself and other processes on the system.
Impact: DoS: Resource Consumption (Other)
An attacker that can influence the allocation of resources that are not properly maintained could deplete the available resource pool and prevent all other processes from accessing the same type of resource.
Strategy: Resource Limitation