COMMON ATTACK PATTERN ENUMERATION AND CLASSIFICATIONLive MITRE record

CAPEC-175

Code Inclusion

An adversary exploits a weakness on the target to force arbitrary code to be retrieved locally or from a remote location and executed. This differs from code injection in that code injection involves the direct inclusion of code while code inclusion involves the addition or replacement of a reference to a code file, which is subsequently loaded by the target and used as part of the code of some application.

Abstraction

Meta

Typical severity

Very High

Likelihood of attack

Medium

Understand the attack

What is this attack pattern?

An adversary exploits a weakness on the target to force arbitrary code to be retrieved locally or from a remote location and executed. This differs from code injection in that code injection involves the direct inclusion of code while code inclusion involves the addition or replacement of a reference to a code file, which is subsequently loaded by the target and used as part of the code of some application.

Requirements

What does the attack require?

Prerequisites

  • The target application must include external code/libraries that are executed when the application runs and the adversary must be able to influence the specific files that get included.
  • The victim must run the targeted application, possibly using the crafted parameters that the adversary uses to identify the code to include.

Skills required

Not stated in the MITRE record.

Resources required

  • The adversary may need the capability to host code modules if they wish their own code files to be included.

Real world

MITRE example instances

Example instance 1Detail
One example of this type of attack pattern is PHP file include attacks where the parameter of an include() function is set by a variable that an attacker is able to control. The result is that arbitrary code could be loaded into the PHP application and executed.
CAPEC-175: Code Inclusion — DayBreach Saldırı Sözlüğü · DayBreach