Read Time:1 Minute, 11 Second

Description

The software’s resource pool is not large enough to handle peak demand, which allows an attacker to prevent others from accessing the resource by using a (relatively) large number of requests for resources.

Frequently the consequence is a “flood” of connection or sessions.

Modes of Introduction:

– Architecture and Design

 

 

Related Weaknesses

CWE-664
CWE-400

 

Consequences

Availability, Integrity, Other: DoS: Crash, Exit, or Restart, Other

Floods often cause a crash or other problem besides denial of the resource itself; these are likely examples of *other* vulnerabilities, not an insufficient resource pool.

 

Potential Mitigations

Phase: Architecture and Design

Description: 

Do not perform resource-intensive transactions for unauthenticated users and/or invalid requests.

Phase: Architecture and Design

Description: 

Consider implementing a velocity check mechanism which would detect abusive behavior.

Phase: Operation

Description: 

Consider load balancing as an option to handle heavy loads.

Phase: Implementation

Description: 

Make sure that resource handles are properly closed when no longer needed.

Phase: Architecture and Design

Description: 

Identify the system’s resource intensive operations and consider protecting them from abuse (e.g. malicious automated script which runs the resources out).

CVE References

  • CVE-1999-1363
    • Large number of locks on file exhausts the pool and causes crash.
  • CVE-2001-1340
    • Product supports only one connection and does not disconnect a user who does not provide credentials.
  • CVE-2002-0406
    • Large number of connections without providing credentials allows connection exhaustion.