CAPECattack pattern

CAPEC-25 Forced Deadlock

High Official page ↗
Abstraction
Meta
Status
Stable
Likelihood of attack
Low
Typical severity
High
CAPEC version
3.9

Description

The adversary triggers and exploits a deadlock condition in the target software to cause a denial of service. A deadlock can occur when two or more competing actions are waiting for each other to finish, and thus neither ever does. Deadlock conditions can be difficult to detect.

Execution flow

1. [Explore] The adversary initiates an exploratory phase to get familiar with the system. 2. [Explore] The adversary triggers a first action (such as holding a resource) and initiates a second action which will wait for the first one to finish. 3. [Explore] If the target program has a deadlock condition, the program waits indefinitely resulting in a denial of service.

Prerequisites

• The target host has a deadlock condition. There are four conditions for a deadlock to occur, known as the Coffman conditions. [REF-101] • The target host exposes an API to the user.

Skills required

• [Medium] This type of attack may be sophisticated and require knowledge about the system's resources and APIs.

Consequences

• Availability: Resource Consumption

Mitigations

• Use known algorithm to avoid deadlock condition (for instance non-blocking synchronization algorithms). • For competing actions, use well-known libraries which implement synchronization.

Related

Att&ck technique · MITRE ATT&CK (1)

  • T1499.004 Application or System Exploitation sub-technique

Weakness · CWE (6)

  • CWE-1322 Use of Blocking Code in Single-threaded, Non-blocking Context weakness
  • CWE-412 Unrestricted Externally Accessible Lock weakness
  • CWE-567 Unsynchronized Access to Shared Data in a Multithreaded Context weakness
  • CWE-662 Improper Synchronization weakness
  • CWE-667 Improper Locking weakness
  • CWE-833 Deadlock weakness

Referenced by CWE · attack pattern (6)

  • CWE-1322 Use of Blocking Code in Single-threaded, Non-blocking Context weakness
  • CWE-412 Unrestricted Externally Accessible Lock weakness
  • CWE-567 Unsynchronized Access to Shared Data in a Multithreaded Context weakness
  • CWE-662 Improper Synchronization weakness
  • CWE-667 Improper Locking weakness
  • CWE-833 Deadlock weakness