Home > CAPEC List > CAPEC-123: Buffer Manipulation (Version 2.9)  

CAPEC-123: Buffer Manipulation

 
Buffer Manipulation
Definition in a New Window Definition in a New Window
Attack Pattern ID: 123
Abstraction: Meta
Status: Draft
Completeness: Stub
Presentation Filter:
+ Summary

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.

+ Attack Prerequisites
  • The adversary must identify a programmatic means for interacting with a buffer, such as vulnerable C code, and be able to provide input to this interaction.

+ Typical Severity

Very High

+ Typical Likelihood of Exploit

Likelihood: High

+ Solutions and Mitigations

To help protect an application from buffer manipulation attacks, a number of potential mitigations can be leveraged. Before starting the development of the application, consider using a code language (e.g., Java) or compiler that limits the ability of developers to act beyond the bounds of a buffer. If the chosen language is susceptible to buffer related issues (e.g., C) then consider using secure functions instead of those vulnerable to buffer manipulations. If a potentially dangerous function must be used, make sure that proper boundary checking is performed. Additionally, there are often a number of compiler-based mechanisms (e.g., StackGuard, ProPolice and the Microsoft Visual Studio /GS flag) that can help identify and protect against potential buffer issues. Finally, there may be operating system level preventative functionality that can be applied.

+ Attack Motivation-Consequences
ScopeTechnical ImpactNote
Availability
DoS: crash / exit / restart
A buffer manipulation attack often results in a crash of the application due to the corruption of memory.
Confidentiality
Execute unauthorized code or commands
Modify memory
Read memory
If constructed properly, a buffer manipulation attack can be used to contol the execution of the application leading to any number of negative consequenses.
+ Content History
Submissions
SubmitterOrganizationDateSource
CAPEC Content TeamThe MITRE Corporation2014-06-23Internal_CAPEC_Team
Modifications
ModifierOrganizationDateCommentsSource
CAPEC Content TeamThe MITRE Corporation2017-01-09Updated Activation_Zone, Attack_Motivation-Consequences, Injection_Vector, Payload, Payload_Activation_Impact, Related_Attack_Patterns, Solutions_and_MitigationsInternal

More information is available — Please select a different filter.
Page Last Updated or Reviewed: December 07, 2015