CAPEC Definitions

    CAPEC Definitions / CAPEC-44

    CAPEC-44: Overflow Binary Resource File

    An attack of this type exploits a buffer overflow vulnerability in the handling of binary resources. Binary resources may include music files like MP3, image files like JPEG files, and any other binary file. These attacks may pass unnoticed to the client machine through normal usage of files, such as a browser loading a seemingly innocent JPEG file. This can allow the adversary access to the execution stack and execute arbitrary code in the target process.

    Severity:Very High
    Possibility:High

    Extended Description

    This attack pattern is a variant of standard buffer overflow attack using an unexpected vector (binary files) to wrap its attack and open up a new attack vector. The adversary is required to either directly serve the binary content to the victim, or place it in a locale like a MP3 sharing application for the victim to download. The adversary then is notified upon the download or otherwise locates the vulnerability opened up by the buffer overflow.

    Mitigations

    Perform appropriate bounds checking on all buffers.

    Design: Enforce principle of least privilege

    Design: Static code analysis

    Implementation: Execute program in less trusted process space environment, do not allow lower integrity processes to write to higher integrity processes

    Implementation: Keep software patched to ensure that known vulnerabilities are not available for adversaries to target on host.

    Relationships with other CAPECs

    CAPEC-100: Overflow Buffers

    CAPEC-23: File Content Injection

    Prerequisites

    Target software processes binary resource files.

    Target software contains a buffer overflow vulnerability reachable through input from a user-controllable binary resource file.

    Related Weaknesses

    CWE-120: Buffer Copy without Checking Size of Input ('Classic Buffer Overflow')

    CWE-119: Improper Restriction of Operations within the Bounds of a Memory Buffer

    CWE-697: Incorrect Comparison