CAPECattack pattern

CAPEC-540 Overread Buffers

High Official page ↗
Abstraction
Standard
Status
Draft
Likelihood of attack
Low
Typical severity
High
CAPEC version
3.9

Description

An adversary attacks a target by providing input that causes an application to read beyond the boundary of a defined buffer. This typically occurs when a value influencing where to start or stop reading is set to reflect positions outside of the valid memory location of the buffer. This type of attack may result in exposure of sensitive information, a system crash, or arbitrary code execution.

Execution flow

1. [Explore] [Identify target application] The adversary identifies a target application or program to perform the buffer overread on. Adversaries often look for applications that accept user input and that perform manual memory management. 2. [Experiment] [Find attack vector] The adversary identifies an attack vector by looking for areas in the application where they can specify to read more data than is required. 3. [Exploit] [Overread the buffer] The adversary provides input to the application that gets it to read past the bounds of a buffer, possibly revealing sensitive information that was not intended to be given to the adversary.

Prerequisites

• For this type of attack to be successful, a few prerequisites must be met. First, the targeted software must be written in a language that enables fine grained buffer control. (e.g., c, c++) Second, the targeted software must actually perform buffer operations and inadequately perform bounds-checking on those buffer operations. Finally, the adversary must have the capability to influence the input that guides these buffer operations.

Consequences

• Confidentiality: Read Data • Availability: Unreliable Execution

Related

Child of · CAPEC (1)

  • CAPEC-123 Buffer Manipulation attack pattern

Weakness · CWE (1)

  • CWE-125 Out-of-bounds Read weakness

Referenced by CWE · attack pattern (1)

  • CWE-125 Out-of-bounds Read weakness