CAPEC-540 Metadata
Likelihood of Attack
Low
Typical Severity
High
Overview
Summary
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.
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.
Execution Flow
Step | Phase | Description | Techniques |
---|---|---|---|
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. |
|
Potential Solutions / Mitigations
No specific solutions listed.
Related Weaknesses (CWE)
CWE ID | Description |
---|---|
CWE-125 | Out-of-bounds Read |
Related CAPECs
CAPEC ID | Description |
---|---|
CAPEC-123 | An adversary manipulates an application's interaction with a buffer in an attempt to read or modify data they shouldn't have access to. Buffer attacks are distinguished in that it is the buffer space itself that is the target of the attack rather than any code responsible for interpreting the content of the buffer. In virtually all buffer attacks the content that is placed in the buffer is immaterial. Instead, most buffer attacks involve retrieving or providing more input than can be stored in the allocated buffer, resulting in the reading or overwriting of other unintended program memory. |
Stay Ahead of Attack Patterns
Understanding CAPEC patterns helps security professionals anticipate and thwart potential attacks. Leverage these insights to enhance threat modeling, strengthen your software development lifecycle, and train your security teams effectively.