Resource exhaustion attack
Resource exhaustion attacks are computer security exploits that crash, hang, or otherwise interfere with the targeted program or system. They are a form of denial-of-service attack but are different from distributed denial-of-service attacks, which involve overwhelming a network host such as a web server with requests from many locations.

Attack vectors 

Resource exhaustion attacks generally exploit a software bug or design deficiency. In software with manual memory management (most commonly written in C or C++), memory leaks are a very common bug exploited for resource exhaustion. Even if a garbage collected programming language is used, resource exhaustion attacks are possible if the program uses memory inefficiently and does not impose limits on the amount of state used when necessary.

File descriptor leaks are another common vector. Most general-purpose programming languages require the programmer to explicitly close file descriptors, so even particularly high-level languages allow the programmer to make such mistakes.

Types and examples 
 Billion laughs
 Fork bomb
 Infinite loop
 Local Area Network Denial (LAND)
 Pentium F00F bug
 Ping of death
 Regular expression denial of service (ReDoS)

References

External links
OWASP's wiki article on resource exhaustion
Daniel J. Bernstein on resource exhaustion

Denial-of-service attacks